PDA

View Full Version : مبتدی: کلیه عملیات مربوط به فایل های متنی



shayegan10
یک شنبه 02 تیر 1392, 15:18 عصر
کار با فایل ها در برنامه نویسی از جمله مواردی است که هر برنامه نویس برای انجام پروژه های خود باید با آن آشنا باشد و در اینجا قصد داریم تمامی عملیات انجام شده توسط فایل ها را از قبیل ساخت فایل ، خواندن ، نوشتن ، کپی کردن ، جابجا کردن و پاک کردن فایل را برای شما آموزش دهیم. راه ها و ابزارهای مختلفی برای این منظور برنامه نویسان ارائه کرده‌اند لذا در اینجا سعی شده از ساده‌ترین و کاربردی ترین روش ها استفاده شود. لطفاً به بخش های زیر دقت فرمائید :

ساخت فایل متنی
string fileLoc=@"D:\sample1.txt";
FileStream fs=null;
if (!File.Exists(fileLoc))
{
using (fs=File.Create(fileLoc))
{
...
}}

با استفاده از قطعه کدی که در بالا مشاهده می کنید می توان فایل متنی را در مسیر دلخواه ایجاد کرد. در اینجا ابتدا عدم وجود فایل مورد بررسی قرار میگیرد سپس فایل مورد نظر ایجاد می شود.

نوشتن در فایل متنی
string fileLoc=@"D:\sample1.txt";
if (File.Exists(fileLoc)){
using (StreamWriter sw=new StreamWriter(fileLoc)){
sw.Write("Some sample text for the file");
}}

با استفاده از کدی که در این قسمت قرار داده شده می توان عبارتی را به فایل متنی اضافه کرد. در اینجا ابتدا صحت وجود فایل بررسی می شود و در صورت موجود بودن فایل آن را باز کرده و متن مورد نظر را به آن اضافه می کند.

خواندن از فایل متنی
string fileLoc=@"D:\sample1.txt";
if (File.Exists(fileLoc)){
using (TextReader tr=new StreamReader(fileLoc)){
MessageBox.Show(tr.ReadLine());}}

در اینجا نیز قطعه کد قرار داده شده عملیات خواند از فایل متنی و چاپ متن را بر عهده دارد به این صورت که ابتدا فایل مورد نظر را پیدا کرده در صورتی که وجود داشت متن موجود در آن را خوانده و بصورت پیغام چاپ می کند.

کپی کردن فایل متنی
string fileLoc=@"D:\sample1.txt";
string fileLocCopy=@"E:\sample1.txt";
if (File.Exists(fileLoc)){
if (File.Exists(fileLocCopy))
File.Delete(fileLocCopy);
File.Copy(fileLoc, fileLocCopy);}

در اینجا عملیات کپی کرد فایل از محلی در سیستم به محل دیگر انجام می شود به این صورت که ابتدا مسیر فایل ابتدایی و مکانی که قرار است فایل در آنجا کپی شود را مشخص می کنیم ، سپس از وجود فایل مبدأ که مطمئن شدیم باید بررسی کنیم که فایل در مقصد نیز وجود دارد یا خیر، در صورتی که وجود داشت آن را پاک کرده و فایل مبدأ را جایگزین آن می کنیم در غیر این صورت هم مستقیماً فایل را در محل مورد نظر کپی می کنیم.

جابجا کردن فایل متنی
string fileLoc=@"D:\sample1.txt";
string fileLocMove=@"E:\sample1" + System.DateTime.Now.Ticks + ".txt";
if (File.Exists(fileLoc)) File.Move(fileLoc, fileLocMove);

همان طور که مشاهده می کنید برای جابجا کردن فایل های متنی روش دیگری استفاده شده است به این صورت که زمانی که مسیر مقصد را برای جابجایی می خواهیم تعیین کنیم از پارامتر زمان نیز بهره میگیریم تا نام فایل بعد از جابجایی با نام فایل های مقصد یکی نباشد، در غیر این صورت می توانید با استفاده از روش قبل نام فایل را در مقصد بررسی کرده و در صورت وجود آن را حذف نمائید. در اینجا نیز بعد از اینکه وجود فایل مبدأ بررسی شد، آن را تغییر نام داده و به محل دیگری منتقل می کنیم.

حذف فایل متنی
string fileLoc=@"D:\sample1.txt";
if (File.Exists(fileLoc)) File.Delete(fileLoc);

در آخر هم نوبت به حذف فایل می رسد و همان طور که مشخص است تنها کافی است که صحت وجود فایل بررسی شود و در صورت وجود آن را حذف نمائیم.

برای کار با فایل ها بهتر است از مسیری استفاده کنید که دسترسی به آن محدود نباشد. در سیستم عامل های جدید درایو C از محدودیت های امنیتی برخوردار است.