PDA

View Full Version : چگونگی خواندن از یک فایل به جای خواندن از آرایه



دنیا فراهانی
جمعه 22 آبان 1388, 19:22 عصر
سلام دوستان
می خوام 100000 عدد را به صورت رندوم تولید کنم(تا اینجا مشکلی نیست)و در یک فایل ذخیره کنم و از فایل بخوانم . مشکل اینه که نمی خوام از Save Dialog ,open file dialog استفاده کنم باید در زمان لود برنامه این اعداد تولید واتومات در یک فایل ذخیره بشوند و در جایی دیگر از برنامه از آنها بعنوان ورودی از نوع صحیح استفاده کنم.
آیا این کار یعنی خواندن حجم زیاد اطلاعات از یک فایل در حافظه به جای خواندن از یک آرایه در سرعت اجرا تاثیر دارد؟

#aliyari_C
جمعه 22 آبان 1388, 22:29 عصر
تو باید مسیر جاری برنامه ات را به این صورت بدست بیاوری
application.StatrtupPach (برای دخیره فایل)
بعدش هم در جواب سوال دوم , منظورت چی در هر حالت داری حافظه مصرف می کنی .!؟

ماهی لب بسته را اندیشه قلاب نیست

Parham.D
شنبه 23 آبان 1388, 08:00 صبح
اگر اشتباه نکنم برای این کار خاص استفاده از فایل سریع تر است. فایل به صورت جداگانه در حافظه ساخته شده و فقط عملکردش در برنامه شما هست. در حالی که آرایه بخشی مستقیم از برنامه شما هست که میتواند در میزان حافظه گیری و پردازشی که برای برنامه شما اختصاص می یابد تاثیر بگذارد.

دنیا فراهانی
شنبه 23 آبان 1388, 08:08 صبح
این که روش فایل سریع تر عمل می کنه درست .خوب چطور این کار را انجام بدم یعنی چه دستوری این کار را می کنه ؟

sky_in_iran
شنبه 23 آبان 1388, 08:19 صبح
سلام دوست عزيز
براي ريختن در فايل اول using System.io فراخواني كن بعد از توابع streamreader براي خواندن و streamwriter براي ريختن در فايل استفاده كن اگر كد كار كردن كاملش و بخواي ميتوني يه جستجو بكني در اين مورد تاپيك خيلي زياده

mrsh_1988
شنبه 23 آبان 1388, 08:41 صبح
سلام
با کد :
System.IO.File.WriteAllText(path, your text);
می تونی فایلی که در آدرس وجود دارد را پر کنی .

Parham.D
شنبه 23 آبان 1388, 08:42 صبح
به کد زیر توجه کنید:




Random RandomObject = new Random();
int RandomNumber;

private void Form1_Load(object sender, EventArgs e)
{
System.IO.FileStream TheFile = System.IO.File.Create(@"C:\somefile.txt");
System.IO.StreamWriter Writer = new System.IO.StreamWriter(TheFile);

for (int i = 1; i < 20; i++)
{
RandomNumber = RandomObject.Next(1, 7);

Writer.WriteLine(RandomNumber.ToString());
}

Writer.Close();
TheFile.Close();
}





بیست عدد تصادفی بین 1 و 7 ایجاد و در یک فایل با مسیر دلخواه شما ذخیره میشه. به همین سادگی هم شما میتوانی در جای مورد نظر آن را بخوانی.
تست کردم، جواب میدهد. موفق باشید.