"

کار با فایل‌ها و پوشه‌ها در سی‌ شارپ,فضای نام System.IO در سی‌ شارپ,ایجاد فایل در سی‌ شارپ

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

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

تیم تحریریه
8
0
23 خرداد 1405
لینک کوتاه

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

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


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

فضای نام System.IO در سی‌ شارپ

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

 

using System.IO;

 

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

  • File

  • FileInfo

  • Directory

  • DirectoryInfo

  • Path

  • StreamReader

  • StreamWriter

  • FileStream

است که هر کدام وظایف خاصی را بر عهده دارند.

 

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

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

using System.IO;

File.Create("test.txt");

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

در صورتی که فایل قبلاً وجود داشته باشد، محتوای آن بازنویسی خواهد شد.

 

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

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

 

if (File.Exists("test.txt"))

{

Console.WriteLine("فایل موجود است");

}

else

{

Console.WriteLine("فایل یافت نشد");

}

متد Exists مقدار بولین برمی‌گرداند.

 

نوشتن اطلاعات در فایل در سی‌ شارپ

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

  • استفاده از WriteAllText

File.WriteAllText("data.txt", "سلام به دنیای سی شارپ");

این متد کل متن را در فایل ذخیره می‌کند.

 

  • نوشتن چند خط

string[] lines =

{

"خط اول",

"خط دوم",

"خط سوم"

};




File.WriteAllLines("data.txt", lines);

افزودن اطلاعات به فایل در سی‌ شارپ

اگر بخواهیم داده جدید به انتهای فایل اضافه شود از متد AppendAllText استفاده می‌کنیم.

 

File.AppendAllText("data.txt", "\nاطلاعات جدید");

خواندن اطلاعات از فایل در سی‌ شارپ

  • خواندن کل متن

string text = File.ReadAllText("data.txt");

Console.WriteLine(text);
  • خواندن همه خطوط

string[] lines = File.ReadAllLines("data.txt");

foreach (string line in lines)

{
Console.WriteLine(line);

}

حذف فایل در سی‌ شارپ

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

 

File.Delete("data.txt");

 

قبل از حذف بهتر است وجود فایل بررسی شود.

 

if (File.Exists("data.txt"))

{

File.Delete("data.txt");

}

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

کپی کردن فایل بسیار ساده است.

File.Copy(

"source.txt",

"backup.txt"

);

اگر فایل مقصد وجود داشته باشد خطا رخ می‌دهد.

برای جایگزینی:

 

File.Copy(

"source.txt",

"backup.txt",

true

);

جابه‌جایی فایل در سی‌ شارپ

برای انتقال فایل از محلی به محل دیگر:

File.Move(

"old.txt",

"new.txt"

);

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

در واقع تغییر نام نیز با Move انجام می‌شود.

File.Move(

"file1.txt",

"file2.txt"

);

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

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

FileInfo file =

new FileInfo("data.txt");




Console.WriteLine(file.Name);

Console.WriteLine(file.Length);

Console.WriteLine(file.CreationTime);

 

خروجی شامل:

  • نام فایل

  • حجم فایل

  • تاریخ ایجاد

  • تاریخ آخرین ویرایش

خواهد بود.

 

ایجاد پوشه در سی‌ شارپ

برای ساخت پوشه از کلاس Directory استفاده می‌شود.

Directory.CreateDirectory("MyFolder");

اگر پوشه از قبل وجود داشته باشد خطایی رخ نمی‌دهد.

 

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

if (Directory.Exists("MyFolder"))

{

Console.WriteLine("پوشه وجود دارد");

}

حذف پوشه در سی‌ شارپ

Directory.Delete("MyFolder");

اگر پوشه دارای فایل باشد:

 

Directory.Delete(

"MyFolder",

true

);

پارامتر دوم باعث حذف تمامی فایل‌ها و زیرپوشه‌ها می‌شود.

 

دریافت فایل‌های یک پوشه در سی‌ شارپ

string[] files =

Directory.GetFiles("MyFolder");




foreach (string file in files)

{

Console.WriteLine(file);

}



دریافت پوشه‌های داخلی در سی‌ شارپ

string[] folders =

Directory.GetDirectories("MyFolder");




foreach (string folder in folders)

{

Console.WriteLine(folder);

}



کلاس DirectoryInfo در سی‌ شارپ

مانند FileInfo، برای مدیریت پوشه‌ها نیز کلاس DirectoryInfo وجود دارد.

 

DirectoryInfo dir =

new DirectoryInfo("MyFolder");




Console.WriteLine(dir.Name);

Console.WriteLine(dir.CreationTime);



کار با مسیرها (Path) در سی شارپ

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

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

string ext =

Path.GetExtension("data.txt");




Console.WriteLine(ext);

خروجی:

.txt
  • دریافت نام فایل در سی‌ شارپ

string name =

Path.GetFileName(

"C:\\Files\\data.txt"

);




Console.WriteLine(name);
  • دریافت نام بدون پسوند  در  سی شارپ

string name =

Path.GetFileNameWithoutExtension(

"data.txt"

);




Console.WriteLine(name);
  • ترکیب مسیرها

string path =

Path.Combine(

"C:\\Files",

"Images",

"photo.jpg"

);




Console.WriteLine(path);

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


کار با مسیرها (Path) در سی شارپ



استفاده از StreamWriter در سی شارپ

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

using (StreamWriter writer =

new StreamWriter("data.txt"))

{

writer.WriteLine("خط اول");

writer.WriteLine("خط دوم");

}

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

 

استفاده از StreamReader در سی شارپ

برای خواندن فایل:

using (StreamReader reader =

new StreamReader("data.txt"))

{

string text =

reader.ReadToEnd();




Console.WriteLine(text);

}

استفاده از FileStream در سی شارپ

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

 

using (FileStream fs =

new FileStream(

"data.txt",

FileMode.OpenOrCreate))

{

Console.WriteLine("فایل باز شد");

}

 

این کلاس برای:

  • ذخیره فایل‌های بزرگ
  • پردازش باینری
  • آپلود و دانلود فایل
  • رمزنگاری فایل‌ها

کاربرد فراوانی دارد.





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

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

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

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

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

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

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

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









خواندن فایل‌های باینری در سی شارپ

byte[] data =

File.ReadAllBytes("image.jpg");




Console.WriteLine(data.Length);

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

byte[] data =

{ 10, 20, 30, 40 };




File.WriteAllBytes(

"test.bin",

data

);

مدیریت استثناها در سی شارپ

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

نمونه:

  • عدم دسترسی

  • نبود فایل

  • قفل بودن فایل

  • کمبود فضای دیسک

بنابراین بهتر است از try-catch استفاده شود.

 

try

{

string text =

File.ReadAllText("data.txt");




Console.WriteLine(text);

}

catch (Exception ex)

{

Console.WriteLine(ex.Message);

}

مدیریت استثناها در سی شارپ

 


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

برای افزایش پایداری برنامه بهتر است نکات زیر رعایت شوند:

  • قبل از باز کردن فایل، وجود آن را بررسی کنید.

  • همیشه از using استفاده کنید.

  • خطاها را مدیریت کنید.

  • برای مسیرها از Path.Combine استفاده کنید.

  • فایل‌های حساس را رمزنگاری کنید.

  • از دسترسی‌های غیرضروری جلوگیری کنید.

  • هنگام حذف فایل یا پوشه از کاربر تأیید بگیرید.

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

کار با فایل‌ها و پوشه‌ها در بسیاری از پروژه‌ها استفاده می‌شود:

  • سیستم‌های حسابداری

  • نرم‌افزارهای مدیریت اسناد

  • سیستم‌های بکاپ

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

  • تولید گزارش‌ها

  • ثبت لاگ‌ها

  • مدیریت تصاویر و فایل‌های چندرسانه‌ای

  • نرم‌افزارهای اتوماسیون اداری

تقریباً هر برنامه‌ای که داده‌ای را ذخیره یا بازیابی می‌کند به نوعی از قابلیت‌های فایل و پوشه در سی‌شارپ بهره می‌برد.

 

جمع‌بندی

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

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

کاربران ما

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

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

منو