سوال در مورد خواندن و نوشتن فایل؟؟
سلام دوستان من یه فایل متنی دارم که میخوام چند خطی رو در انتهای آن اضافه کنم..
ولی و قتی این شکلی مینویسم کار نمیکنه:
string path = @"d:\temp\MyTest.txt";
StreamWriter sw = File.AppendText(path);
sw.WriteLine("amir");
sw.WriteLine("test");
ولی اینجوری که مینویسم درست میشه:
دلیلش چیه؟؟؟
string path = @"d:\temp\MyTest.txt";
using (StreamWriter sw = File.AppendText(path))
{
sw.WriteLine("amir");
sw.WriteLine("test");
}
نقل قول: سوال در مورد خواندن و نوشتن فایل؟؟
با سلام
یه علت ساده داره: Performace
StreamWriter، یه buffer داره که زمانی که شما دستور Write میدین، واسه کم شدن استفاده از هارد، موقتا تو اون buffer میریزه. در 3 حالت buffer رو flush میکنه تو فایل:
- buffer پر شه
- شما دستور flush رو بدید.
- اون instance از StreamWriter رو dispose کنید
مورد آخر به 3 طریق میتونه انجام بشه:
- اجرای مستقیم فرمان Dispose
- استفاده از try/finally
- استفاده از using
موفق باشید