PDA

View Full Version : سوال در مورد خواندن و نوشتن فایل؟؟



amirxbest
چهارشنبه 06 اردیبهشت 1391, 11:12 صبح
سلام دوستان من یه فایل متنی دارم که میخوام چند خطی رو در انتهای آن اضافه کنم..
ولی و قتی این شکلی مینویسم کار نمیکنه:

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");
}

mohammad272005
چهارشنبه 06 اردیبهشت 1391, 11:23 صبح
با سلام
یه علت ساده داره: Performace
StreamWriter، یه buffer داره که زمانی که شما دستور Write میدین، واسه کم شدن استفاده از هارد، موقتا تو اون buffer میریزه. در 3 حالت buffer رو flush میکنه تو فایل:

buffer پر شه
شما دستور flush رو بدید.
اون instance از StreamWriter رو dispose کنید
مورد آخر به 3 طریق میتونه انجام بشه:

اجرای مستقیم فرمان Dispose
استفاده از try/finally
استفاده از using
موفق باشید