ساخت فایل متنی (TXT) در سی شارپ
ساخت فایل متنی در سیشارپ با استفاده از کلاسهای File و StreamWriter انجام میشود و روشی ساده برای ذخیره دادهها است.
ساخت فایل متنی (TXT) در سی شارپ
ایجاد و مدیریت فایلهای متنی یکی از رایجترین عملیات در برنامهنویسی است.
در زبان سیشارپ (#C)، کلاسها و متدهای متعددی برای کار با فایلهای متنی در اختیار برنامهنویسان قرار گرفته است.
فایلهای TXT برای ذخیرهسازی اطلاعات ساده، گزارشها، لاگها، تنظیمات برنامه و بسیاری از کاربردهای دیگر مورد استفاده قرار میگیرند.
کتابخانه System.IO در داتنت امکانات کاملی را برای ایجاد، خواندن، ویرایش و حذف فایلهای متنی فراهم میکند.
اهمیت استفاده از فایلهای متنی در سی شارپ
فایلهای متنی به دلیل سادگی و سازگاری بالا، یکی از محبوبترین روشهای ذخیره اطلاعات هستند. مزایای استفاده از فایلهای TXT عبارتاند از:
-
حجم کم
-
قابلیت مشاهده و ویرایش توسط کاربران
-
عدم نیاز به نرمافزارهای خاص
-
مناسب برای ذخیره لاگها و گزارشها
-
سازگاری با اکثر سیستمعاملها
به همین دلیل بسیاری از برنامهها از فایلهای متنی برای ذخیره دادههای ساده استفاده میکنند.
فضای نام System.IO
برای کار با فایلها در سیشارپ ابتدا باید فضای نام System.IO را به پروژه اضافه کنیم:
using System.IO;
این فضای نام شامل کلاسهای متعددی مانند:
-
File
-
FileInfo
-
StreamWriter
-
StreamReader
-
Directory
-
DirectoryInfo
است که برای مدیریت فایلها و پوشهها استفاده میشوند.
ایجاد فایل متنی با متد File.Create در سی شارپ
سادهترین روش ساخت فایل متنی استفاده از متد Create است.
using System.IO;
File.Create("test.txt");
این دستور فایل test.txt را در مسیر جاری برنامه ایجاد میکند.
نکته مهم این است که متد Create یک شیء از نوع FileStream برمیگرداند و بهتر است آن را ببندیم:
FileStream fs = File.Create("test.txt");
fs.Close();
یا به شکل بهتر:
using (FileStream fs = File.Create("test.txt"))
{
}
ایجاد فایل و نوشتن متن با File.WriteAllText در سی شارپ
در بسیاری از مواقع میخواهیم هنگام ایجاد فایل، اطلاعاتی نیز در آن ذخیره کنیم.
File.WriteAllText("test.txt", "سلام به دنیای سی شارپ");
اگر فایل وجود نداشته باشد ایجاد میشود و اگر وجود داشته باشد محتوای قبلی آن جایگزین خواهد شد.
ایجاد فایل با چند خط متن
برای ذخیره چندین خط میتوان از متد WriteAllLines استفاده کرد.
string[] lines =
{
"خط اول",
"خط دوم",
"خط سوم"
};
File.WriteAllLines("test.txt", lines);
خروجی فایل:
خط اول
خط دوم
خط سوم
استفاده از StreamWriter در سی شارپ
کلاس StreamWriter یکی از حرفهایترین روشها برای ایجاد و نوشتن فایلهای متنی است.
using (StreamWriter sw = new StreamWriter("test.txt"))
{
sw.WriteLine("خط اول");
sw.WriteLine("خط دوم");
sw.WriteLine("خط سوم");
}
مزایای StreamWriter در سی شارپ
-
مصرف حافظه کمتر
-
مناسب برای فایلهای بزرگ
-
امکان نوشتن تدریجی اطلاعات
-
کنترل بیشتر روی عملیات ذخیرهسازی

اضافه کردن متن به فایل موجود
گاهی لازم است اطلاعات جدید به انتهای فایل اضافه شوند.
using (StreamWriter sw = new StreamWriter("test.txt", true))
{
sw.WriteLine("اطلاعات جدید");
}
پارامتر دوم (true) مشخص میکند که متن جدید به انتهای فایل افزوده شود.
آیا به دنبال یک فرصت عالی برای یادگیری برنامهنویسی هستید؟ 🚀
با دوره آموزشی سیشارپ ما، شما میتوانید مهارتهای خود را به سطح جدیدی ارتقا دهید! این دوره بهطور کامل طراحی شده تا به شما کمک کند تا از مبتدی تا پیشرفته در دنیای برنامهنویسی سیشارپ پیش بروید.
👨🏫 چرا دوره ما را انتخاب کنید؟
- محتوای جامع و عملی: با پروژههای واقعی و تمرینات عملی، یادگیری را به تجربهای جذاب تبدیل کنید.
- مدرس مجرب: از تجربه و دانش مدرس حرفهای بهرهمند شوید که شما را در هر مرحله از یادگیری راهنمایی میکنند.
- پشتیبانی ۲۴/۷: هر زمان که سوالی داشتید، ما در کنار شما خواهیم بود تا به شما کمک کنیم.
- دسترسی مادامالعمر: به محتوای دوره دسترسی دائمی داشته باشید و هر زمان که خواستید، میتوانید به آن مراجعه کنید.
💡 فرصت را از دست ندهید!
بایادگیری سیشارپ، میتوانید در دنیای فناوری اطلاعات به یک متخصص تبدیل شوید و در پروژههای جذاب و چالشبرانگیز شرکت کنید.
همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آیندهای روشنتر بردارید!
شرکت در دوره آموزش برنامه نویسی سی شارپ
بررسی وجود فایل قبل از ایجاد
برای جلوگیری از ایجاد فایل تکراری میتوان از متد Exists استفاده کرد.
if (!File.Exists("test.txt"))
{
File.Create("test.txt").Close();
}
در این حالت تنها در صورت عدم وجود فایل، فایل جدید ساخته میشود.
ایجاد فایل در مسیر مشخص
میتوان فایل را در هر مسیر دلخواه ایجاد کرد.
File.WriteAllText(@"D:\Files\Report.txt", "گزارش برنامه");
علامت @ باعث میشود نیازی به استفاده از \ نباشد.
ایجاد پوشه و سپس فایل
اگر پوشه مقصد وجود نداشته باشد باید ابتدا آن را ایجاد کنیم.
string folderPath = @"D:\Reports";
if (!Directory.Exists(folderPath))
{
Directory.CreateDirectory(folderPath);
}
File.WriteAllText(Path.Combine(folderPath, "report.txt"),
"متن گزارش");
استفاده از Path.Combine در سی شارپ
برای ساخت مسیرهای استاندارد بهتر است از Path.Combine استفاده شود.
string path = Path.Combine(
@"D:\Reports",
"report.txt");
File.WriteAllText(path, "Hello");
مزایای این روش:
- جلوگیری از خطاهای مسیر
- خوانایی بیشتر
- سازگاری با سیستمعاملهای مختلف
تعیین Encoding هنگام ایجاد فایل
گاهی لازم است فایل با کدگذاری خاصی ذخیره شود.
using System.Text;
File.WriteAllText(
"test.txt",
"سلام دنیا",
Encoding.UTF8);
استفاده از UTF-8 برای ذخیره متون فارسی توصیه میشود.
ایجاد فایل با FileInfo در سی شارپ
کلاس FileInfo نیز امکانات بیشتری نسبت به کلاس File فراهم میکند.
FileInfo file = new FileInfo("test.txt");
using (StreamWriter sw = file.CreateText())
{
sw.WriteLine("متن فایل");
}
ذخیره اطلاعات کاربر در فایل متنی
نمونهای از ذخیره اطلاعات ورودی کاربر:
Console.Write("نام را وارد کنید: ");
string name = Console.ReadLine();
File.WriteAllText("user.txt", name);
اگر کاربر نام "علی" را وارد کند، فایل حاوی:
علی
خواهد بود.
ثبت لاگ برنامه در فایل TXT
یکی از کاربردهای مهم فایلهای متنی ذخیره لاگ است.
string log =
DateTime.Now +
" : برنامه اجرا شد";
File.AppendAllText("log.txt",
log + Environment.NewLine);
هر بار اجرای برنامه یک رکورد جدید ثبت میکند.
ایجاد فایل گزارش
فرض کنید میخواهیم گزارشی از فروش ذخیره کنیم.
string report =
@"گزارش فروش
مبلغ کل: 5000000
تعداد سفارش: 120";
File.WriteAllText("report.txt", report);
مدیریت خطاها با Try-Catch
هنگام کار با فایلها ممکن است خطاهایی رخ دهد.
try
{
File.WriteAllText(
"test.txt",
"اطلاعات");
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
این کار باعث میشود برنامه در صورت بروز خطا متوقف نشود.
حذف فایل پس از ایجاد در سی شارپ
در صورت نیاز میتوان فایل را حذف کرد.
if (File.Exists("test.txt"))
{
File.Delete("test.txt");
}
خواندن فایل ایجاد شده در سی شارپ
بعد از ایجاد فایل میتوان محتوای آن را خواند.
string content =
File.ReadAllText("test.txt");
Console.WriteLine(content);
ایجاد فایلهای متعدد در سی شارپ
مثال ایجاد چند فایل مختلف:
for (int i = 1; i <= 5; i++)
{
File.WriteAllText(
$"File{i}.txt",
$"محتوای فایل {i}");
}
نتیجه:
File1.txt
File2.txt
File3.txt
File4.txt
File5.txt
بهترین روش برای ایجاد فایل متنی
برای اکثر پروژهها، استفاده از File.WriteAllText سادهترین و سریعترین راه است:
File.WriteAllText(
"data.txt",
"نمونه اطلاعات");
اما اگر فایل بسیار بزرگ باشد یا اطلاعات به تدریج نوشته شوند، استفاده از StreamWriter گزینه بهتری خواهد بود.
نکات مهم در ساخت فایل TXT در سی شارپ
- همیشه قبل از ایجاد فایل مسیر را بررسی کنید.
- برای متون فارسی از UTF-8 استفاده کنید.
- عملیات فایل را در Try-Catch قرار دهید.
- برای مسیرها از Path.Combine استفاده کنید.
- پس از استفاده از StreamWriter آن را Dispose کنید.
- از File.Exists برای جلوگیری از خطاهای احتمالی بهره ببرید.
- برای فایلهای بزرگ از StreamWriter استفاده کنید.

جمعبندی
ساخت فایل متنی در سیشارپ یکی از مهارتهای پایه و ضروری برای توسعهدهندگان است.
کتابخانه System.IO ابزارهای قدرتمندی مانند File.Create، File.WriteAllText، File.WriteAllLines و StreamWriter را برای ایجاد و مدیریت فایلهای متنی فراهم میکند.
با استفاده از این کلاسها میتوان فایلهای TXT را ایجاد کرد، اطلاعات را در آنها نوشت، دادهها را به انتهای فایل افزود و حتی گزارشها و لاگهای حرفهای تولید کرد.
انتخاب روش مناسب به حجم دادهها و نیازهای پروژه بستگی دارد، اما در اغلب موارد File.WriteAllText و StreamWriter بهترین گزینهها برای ایجاد فایلهای متنی در برنامههای سیشارپ هستند.



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