کار با فایل در سی شارپ
کار با فایل در سیشارپ شامل ایجاد، خواندن، نوشتن، کپی و حذف فایلها با استفاده از کلاسهای موجود در System.IO است.
کار با فایل در سی شارپ
کار با فایلها یکی از مهمترین بخشهای برنامهنویسی است.
تقریباً در تمامی نرمافزارها نیاز به ذخیرهسازی و بازیابی اطلاعات وجود دارد.
برای مثال ممکن است بخواهیم تنظیمات یک برنامه را ذخیره کنیم، گزارشها را در فایلهای متنی بنویسیم، اطلاعات کاربران را در فایل نگهداری کنیم یا دادههای تولید شده توسط برنامه را برای استفادههای بعدی ذخیره نماییم.
زبان برنامهنویسی سیشارپ (C#) امکانات بسیار قدرتمندی برای کار با فایلها و پوشهها در اختیار توسعهدهندگان قرار میدهد.
در داتنت، فضای نام System.IO مجموعهای از کلاسها و متدهای کاربردی را برای مدیریت فایلها، پوشهها و جریانهای داده (Streams) فراهم میکند.
با استفاده از این ابزارها میتوان فایل ایجاد کرد، اطلاعات را در آن نوشت، محتوای فایل را خواند، فایلها را حذف کرد و بسیاری عملیات دیگر را انجام داد.
فضای نام System.IO
برای کار با فایلها ابتدا باید فضای نام System.IO را به پروژه اضافه کنیم.
using System.IO;
این فضای نام شامل کلاسهای مهمی مانند:
-
File
-
FileInfo
-
Directory
-
DirectoryInfo
-
StreamReader
-
StreamWriter
-
FileStream
-
BinaryReader
-
BinaryWriter
-
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
مسیر فایل

کار با 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 ابزارهای قدرتمندی برای مدیریت دادهها هستند.
با یادگیری این کلاسها میتوان انواع عملیات ذخیرهسازی و بازیابی اطلاعات را به شکل بهینه و استاندارد در برنامههای سیشارپ پیادهسازی کرد.



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