"

کار با فایل در سی شارپ ,بررسی وجود فایل در سی شارپ,ویژگی‌های مهم FileInfo در سی شارپ

کار با فایل در سی شارپ

کار با فایل در سی‌شارپ شامل ایجاد، خواندن، نوشتن، کپی و حذف فایل‌ها با استفاده از کلاس‌های موجود در System.IO است.

تیم تحریریه
4
0
16 تیر 1405
لینک کوتاه

کار با فایل در سی شارپ

کار با فایل‌ها یکی از مهم‌ترین بخش‌های برنامه‌نویسی است.
تقریباً در تمامی نرم‌افزارها نیاز به ذخیره‌سازی و بازیابی اطلاعات وجود دارد.
برای مثال ممکن است بخواهیم تنظیمات یک برنامه را ذخیره کنیم، گزارش‌ها را در فایل‌های متنی بنویسیم، اطلاعات کاربران را در فایل نگهداری کنیم یا داده‌های تولید شده توسط برنامه را برای استفاده‌های بعدی ذخیره نماییم.
زبان برنامه‌نویسی سی‌شارپ (C#) امکانات بسیار قدرتمندی برای کار با فایل‌ها و پوشه‌ها در اختیار توسعه‌دهندگان قرار می‌دهد.

در دات‌نت، فضای نام System.IO مجموعه‌ای از کلاس‌ها و متدهای کاربردی را برای مدیریت فایل‌ها، پوشه‌ها و جریان‌های داده (Streams) فراهم می‌کند.
با استفاده از این ابزارها می‌توان فایل ایجاد کرد، اطلاعات را در آن نوشت، محتوای فایل را خواند، فایل‌ها را حذف کرد و بسیاری عملیات دیگر را انجام داد.


کار با فایل در سی شارپ


فضای نام System.IO

برای کار با فایل‌ها ابتدا باید فضای نام System.IO را به پروژه اضافه کنیم.

 

using System.IO;

 

این فضای نام شامل کلاس‌های مهمی مانند:

  1. File

  2. FileInfo

  3. Directory

  4. DirectoryInfo

  5. StreamReader

  6. StreamWriter

  7. FileStream

  8. BinaryReader

  9. BinaryWriter

  10. Path

 

است.

 

ایجاد فایل در سی شارپ

برای ایجاد یک فایل جدید می‌توان از متد File.Create استفاده کرد.

مثال

using System.IO;


File.Create(@"D:\Test.txt");

 

این دستور یک فایل متنی جدید ایجاد می‌کند.

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

 

var file = File.Create(@"D:\Test.txt");

file.Close();



بررسی وجود فایل در سی شارپ

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

 

if (File.Exists(@"D:\Test.txt"))

{

Console.WriteLine("File Exists");

}

این روش از بروز خطا جلوگیری می‌کند.

 

نوشتن متن در فایل در سی شارپ

یکی از رایج‌ترین عملیات‌ها، ذخیره اطلاعات در فایل است.

استفاده از WriteAllText

File.WriteAllText(

@"D:\Test.txt",

"Hello World");

 

محتوای فایل به طور کامل با متن جدید جایگزین می‌شود.

 

نوشتن چند خط

string text =

@"Line 1

Line 2

Line 3";




File.WriteAllText(

@"D:\Test.txt",

text);



خواندن فایل متنی

برای خواندن محتوای فایل می‌توان از متد ReadAllText استفاده کرد.

 

string content =

File.ReadAllText(@"D:\Test.txt");




Console.WriteLine(content);

 

تمام محتوای فایل به صورت یک رشته بازگردانده می‌شود.

 

خواندن خطوط فایل

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

 

string[] lines =

File.ReadAllLines(@"D:\Test.txt");




foreach(string line in lines)

{

Console.WriteLine(line);

}

اضافه کردن اطلاعات به فایل در سی شارپ

اگر نخواهیم محتوای قبلی فایل حذف شود، می‌توانیم از AppendAllText استفاده کنیم.

 

File.AppendAllText(

@"D:\Test.txt",

"\nNew Line");

 

متن جدید به انتهای فایل اضافه می‌شود.


 


آیا به دنبال یک فرصت عالی برای یادگیری برنامه
‌نویسی هستید؟ 🚀

با دوره آموزشی سی‌شارپ ما، شما می‌توانید مهارت‌های خود را به سطح جدیدی ارتقا دهید! این دوره به‌طور کامل طراحی شده تا به شما کمک کند تا از مبتدی تا پیشرفته در دنیای برنامه‌نویسی سی‌شارپ پیش بروید.

👨‍🏫 چرا دوره ما را انتخاب کنید؟

  • محتوای جامع و عملی: با پروژه‌های واقعی و تمرینات عملی، یادگیری را به تجربه‌ای جذاب تبدیل کنید.
  • مدرس مجرب: از تجربه و دانش مدرس حرفه‌ای بهره‌مند شوید که شما را در هر مرحله از یادگیری راهنمایی می‌کنند.
  • پشتیبانی ۲۴/۷: هر زمان که سوالی داشتید، ما در کنار شما خواهیم بود تا به شما کمک کنیم.
  • دسترسی مادامالعمر: به محتوای دوره دسترسی دائمی داشته باشید و هر زمان که خواستید، می‌توانید به آن مراجعه کنید.

💡 فرصت را از دست ندهید!

بایادگیری سی‌شارپ، می‌توانید در دنیای فناوری اطلاعات به یک متخصص تبدیل شوید و در پروژه‌های جذاب و چالش‌برانگیز شرکت کنید.

همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آینده‌ای روشن‌تر بردارید!

شرکت در دوره آموزش برنامه نویسی سی شارپ





حذف فایل

برای حذف فایل از متد Delete استفاده می‌شود.

 

File.Delete(@"D:\Test.txt");

کپی فایل

برای ایجاد نسخه کپی از فایل:

 

File.Copy(

@"D:\Test.txt",

@"D:\Backup.txt");

جابجایی فایل

File.Move(

@"D:\Test.txt",

@"D:\NewFolder\Test.txt");

کلاس FileInfo در سی شارپ

کلاس FileInfo اطلاعات بیشتری درباره فایل در اختیار ما قرار می‌دهد.

مثال

FileInfo file =

new FileInfo(@"D:\Test.txt");




Console.WriteLine(file.Name);

Console.WriteLine(file.Length);

Console.WriteLine(file.CreationTime);



ویژگی‌های مهم FileInfo در سی شارپ

  • Name

    نام فایل
  • Length

    حجم فایل
  • Extension

    پسوند
  • CreationTime

    زمان ایجاد
  • LastAccessTime

    آخرین دسترسی
  • DirectoryName

    مسیر فایل


ویژگی‌های مهم FileInfo در سی شارپ



کار با StreamWriter

کلاس StreamWriter برای نوشتن داده‌ها در فایل استفاده می‌شود.

مثال

using(StreamWriter writer =

new StreamWriter(@"D:\Test.txt"))

{

writer.WriteLine("Hello");

writer.WriteLine("C#");

}

 

استفاده از using باعث آزادسازی منابع می‌شود.

 

کار با StreamReader

برای خواندن فایل به صورت خط به خط:

 

using(StreamReader reader =

new StreamReader(@"D:\Test.txt"))

{

string line;




while(

(line = reader.ReadLine()) != null)

{

Console.WriteLine(line);

}

}



FileStream در سی شارپ

FileStream کنترل بیشتری روی فایل ارائه می‌دهد.

 

FileStream fs =

new FileStream(

@"D:\Test.txt",

FileMode.Open);



حالت‌های مختلف FileMode

  • Create

    ایجاد فایل
  • Open

    باز کردن فایل
  • OpenOrCreate

    باز کردن یا ایجاد
  • Append

    افزودن اطلاعات
  • Truncate

    پاک کردن محتوا
  • CreateNew

    ایجاد فایل جدید

نوشتن داده با FileStream

byte[] data =

System.Text.Encoding.UTF8

.GetBytes("Hello World");




using(FileStream fs =

new FileStream(

@"D:\Test.txt",

FileMode.Create))

{

fs.Write(data,0,data.Length);

}


خواندن داده با FileStream

using(FileStream fs =

new FileStream(

@"D:\Test.txt",

FileMode.Open))

{

byte[] buffer =

new byte[fs.Length];




fs.Read(

buffer,

0,

buffer.Length);




string text =

System.Text.Encoding.UTF8

.GetString(buffer);




Console.WriteLine(text);

}



کار با فایل‌های باینری

گاهی داده‌ها به صورت باینری ذخیره می‌شوند.

 

BinaryWriter

using(BinaryWriter writer =

new BinaryWriter(

File.Open(

@"D:\Data.bin",

FileMode.Create)))

{

writer.Write("Ali");

writer.Write(25);

}

BinaryReader

using(BinaryReader reader =

new BinaryReader(

File.Open(

@"D:\Data.bin",

FileMode.Open)))

{

string name =

reader.ReadString();




int age =

reader.ReadInt32();




Console.WriteLine(name);

Console.WriteLine(age);

}

کار با پوشه‌ها در سی شارپ

  • ایجاد پوشه

Directory.CreateDirectory(

@"D:\MyFolder");
  • بررسی وجود پوشه

if(

Directory.Exists(

@"D:\MyFolder"))

{

Console.WriteLine("Exists");

}
  • حذف پوشه

Directory.Delete(

@"D:\MyFolder");
  • مشاهده فایل‌های یک پوشه

string[] files =

Directory.GetFiles(

@"D:\MyFolder");




foreach(string file in files)

{

Console.WriteLine(file);

}
  • مشاهده زیرپوشه‌ها

string[] folders =

Directory.GetDirectories(

@"D:\MyFolder");

کاربرد کلاس Path

کلاس Path برای مدیریت مسیرها بسیار کاربردی است.

  • دریافت نام فایل

string fileName =

Path.GetFileName(

@"D:\Files\Test.txt");

 

نتیجه:

 

Test.txt
  • دریافت پسوند

string ext =

Path.GetExtension(

@"D:\Files\Test.txt");

 

نتیجه:

 

.txt
  • دریافت نام فایل بدون پسوند

string name =

Path.GetFileNameWithoutExtension(

@"D:\Files\Test.txt");
  • ترکیب مسیرها

string path =

Path.Combine(

@"D:\Files",

"Test.txt");

 

نتیجه:

 

D:\Files\Test.txt

مدیریت خطاها

کار با فایل‌ها ممکن است با خطاهایی مانند عدم دسترسی، حذف فایل یا قفل بودن فایل همراه باشد.

مثال

try

{

string text =

File.ReadAllText(

@"D:\Test.txt");




Console.WriteLine(text);

}

catch(Exception ex)

{

Console.WriteLine(ex.Message);

}



نکات مهم در کار با فایل‌ها در سی شارپ

  • استفاده از using

    همیشه برای Streamها از using استفاده کنید تا منابع آزاد شوند.
  • بررسی وجود فایل

    قبل از خواندن یا حذف فایل از Exists استفاده کنید.
  • مدیریت Exception

    خطاهای احتمالی را مدیریت کنید.
  • استفاده از Path.Combine

    برای ساخت مسیرها بهتر است از Path.Combine استفاده شود.
  • رعایت سطح دسترسی

    برنامه باید مجوز لازم برای خواندن یا نوشتن فایل را داشته باشد.


نکات مهم در کار با فایل‌ها در سی شارپ

کاربردهای عملی کار با فایل در سی شارپ

کار با فایل در پروژه‌های مختلف کاربردهای فراوانی دارد:

 

  • ذخیره تنظیمات برنامه

  • ثبت لاگ‌ها

  • ذخیره گزارش‌ها

  • تولید فایل‌های متنی

  • مدیریت فایل‌های آپلودی

  • ذخیره خروجی پردازش‌ها

  • تولید فایل CSV

  • تولید فایل XML

  • تولید فایل JSON

  • پشتیبان‌گیری از اطلاعات


جمع‌بندی

کار با فایل در سی‌شارپ یکی از مهارت‌های ضروری برای توسعه نرم‌افزارهای حرفه‌ای است.
فضای نام System.IO امکانات متنوعی برای ایجاد، خواندن، نوشتن، ویرایش، کپی و حذف فایل‌ها و پوشه‌ها در اختیار برنامه‌نویسان قرار می‌دهد.
کلاس‌هایی مانند File، FileInfo، Directory، StreamReader، StreamWriter و FileStream ابزارهای قدرتمندی برای مدیریت داده‌ها هستند.
با یادگیری این کلاس‌ها می‌توان انواع عملیات ذخیره‌سازی و بازیابی اطلاعات را به شکل بهینه و استاندارد در برنامه‌های سی‌شارپ پیاده‌سازی کرد.

محصولات مرتبط

کاربران ما

شما هم نظرتون با ما دریاره “کار با فایل در سی شارپ” اشتراک بزارید

برای ارسال نظر لطفا ورود یا ثبت نام کنید

منو