PDA

View Full Version : استفاده از چند sream reader و مشکل نخواندن داده



hsdnhd
دوشنبه 05 آبان 1393, 08:50 صبح
باسلام
من در پروژه خودم میخوام از چند فایل اطلاعات رو بخونم وبریزم توی یک متغیر ممکنه هرکدوم ازاین فایل ها چندهزارکاراکتر داشته باشند بنابراین اطلاعات کمی سنگین هست من از کد زیر برای اینکار استفاده کردم ولی مشکل اینجاست که وقتی یک فایل هست تا حدودی رو کپی میکنه که اون هم کامل نه قسمتی رو دلیلش هم معلوم نیست بقیه اصلا نمی خونن اطلاعات رو تا بریزن توی متغیر مشکل ازکجای کد هست؟


label13.Text = "";
namepersian = textBox3.Text;
nameenglish = textBox4.Text;
mark = textBox1.Text;
textBox2.Text = "";
StringBuilder sb = new StringBuilder();
switch (listBox1.SelectedIndex)
{
case 0:
using (StreamReader sr = new StreamReader(@"C:/Season1.txt"))
{
sb.Append(sr.ReadToEnd());
season = sb.ToString();
textBox2.Text = season;
}
break;
case 1:
using (StreamReader sr = new StreamReader(@"c:/Season1.txt"))
using (StreamReader sr2 = new StreamReader(@"c:/Season2.txt"))
{
sb.Append(sr.ReadToEnd());
sb.Append(sr2.ReadToEnd());
season = sb.ToString();
}
break;
case 2:
using (StreamReader sr = new StreamReader(@"c:/Season1.txt"))
using (StreamReader sr2 = new StreamReader(@"c:/Season2.txt"))
using (StreamReader sr3 = new StreamReader(@"c:/Season3.txt"))
{
sb.Append(sr.ReadToEnd());
sb.Append(sr2.ReadToEnd());
sb.Append(sr3.ReadToEnd());
season = sb.ToString();
}
break;
case 3:
using (StreamReader sr = new StreamReader(@"c:/Season1.txt"))
using (StreamReader sr2= new StreamReader(@"c:/Season2.txt"))
using (StreamReader sr3 = new StreamReader(@"c:/Season3.txt"))
using (StreamReader sr4 = new StreamReader(@"c:/Season4.txt"))
{
sb.Append(sr.ReadToEnd());
sb.Append(sr2.ReadToEnd());
sb.Append(sr3.ReadToEnd());
sb.Append(sr4.ReadToEnd());
season = sb.ToString();
}
break;
case 4:
using (StreamReader sr = new StreamReader(@"c:/Season1.txt"))
using (StreamReader sr2 = new StreamReader(@"c:/Season2.txt"))
using (StreamReader sr3 = new StreamReader(@"c:/Season3.txt"))
using (StreamReader sr4 = new StreamReader(@"c:/Season4.txt"))
using (StreamReader sr5 = new StreamReader(@"c:/Season5.txt"))
{
sb.Append(sr.ReadToEnd());
sb.Append(sr2.ReadToEnd());
sb.Append(sr3.ReadToEnd());
sb.Append(sr4.ReadToEnd());
sb.Append(sr5.ReadToEnd());
season = sb.ToString();
}
break;
case 5:
using (StreamReader sr = new StreamReader(@"c:/Season1.txt"))
using (StreamReader sr2 = new StreamReader(@"c:/Season2.txt"))
using (StreamReader sr3 = new StreamReader(@"c:/Season3.txt"))
using (StreamReader sr4 = new StreamReader(@"c:/Season4.txt"))
using (StreamReader sr5 = new StreamReader(@"c:/Season5.txt"))
using (StreamReader sr6 = new StreamReader(@"c:/Season6.txt"))
{
sb.Append(sr.ReadToEnd());
sb.Append(sr2.ReadToEnd());
sb.Append(sr3.ReadToEnd());
sb.Append(sr4.ReadToEnd());
sb.Append(sr5.ReadToEnd());
sb.Append(sr6.ReadToEnd());
season = sb.ToString();
}
break;
case 6:
using (StreamReader sr = new StreamReader(@"c:/Season1.txt"))
using (StreamReader sr2 = new StreamReader(@"c:/Season2.txt"))
using (StreamReader sr3 = new StreamReader(@"c:/Season3.txt"))
using (StreamReader sr4 = new StreamReader(@"c:/Season4.txt"))
using (StreamReader sr5 = new StreamReader(@"c:/Season5.txt"))
using (StreamReader sr6 = new StreamReader(@"c:/Season6.txt"))
using (StreamReader sr7 = new StreamReader(@"c:/Season7.txt"))
{
sb.Append(sr.ReadToEnd());
sb.Append(sr2.ReadToEnd());
sb.Append(sr3.ReadToEnd());
sb.Append(sr4.ReadToEnd());
sb.Append(sr5.ReadToEnd());
sb.Append(sr6.ReadToEnd());
sb.Append(sr7.ReadToEnd());
season = sb.ToString();
}
break;
case 7:
using (StreamReader sr = new StreamReader(@"c:/Season1.txt"))
using (StreamReader sr2 = new StreamReader(@"c:/Season2.txt"))
using (StreamReader sr3 = new StreamReader(@"c:/Season3.txt"))
using (StreamReader sr4 = new StreamReader(@"c:/Season4.txt"))
using (StreamReader sr5 = new StreamReader(@"c:/Season5.txt"))
using (StreamReader sr6 = new StreamReader(@"c:/Season6.txt"))
using (StreamReader sr7 = new StreamReader(@"c:/Season7.txt"))
using (StreamReader sr8 = new StreamReader(@"c:/Season8.txt"))
{
sb.Append(sr.ReadToEnd());
sb.Append(sr2.ReadToEnd());
sb.Append(sr3.ReadToEnd());
sb.Append(sr4.ReadToEnd());
sb.Append(sr5.ReadToEnd());
sb.Append(sr6.ReadToEnd());
sb.Append(sr7.ReadToEnd());
sb.Append(sr8.ReadToEnd());
season = sb.ToString();
}
break;
case 8:
using (StreamReader sr = new StreamReader(@"c:/Season1.txt"))
using (StreamReader sr2 = new StreamReader(@"c:/Season2.txt"))
using (StreamReader sr3 = new StreamReader(@"c:/Season3.txt"))
using (StreamReader sr4 = new StreamReader(@"c:/Season4.txt"))
using (StreamReader sr5 = new StreamReader(@"c:/Season5.txt"))
using (StreamReader sr6 = new StreamReader(@"c:/Season6.txt"))
using (StreamReader sr7 = new StreamReader(@"c:/Season7.txt"))
using (StreamReader sr8 = new StreamReader(@"c:/Season8.txt"))
using (StreamReader sr9 = new StreamReader(@"c:/Season9.txt"))
{
sb.Append(sr.ReadToEnd());
sb.Append(sr2.ReadToEnd());
sb.Append(sr3.ReadToEnd());
sb.Append(sr4.ReadToEnd());
sb.Append(sr5.ReadToEnd());
sb.Append(sr6.ReadToEnd());
sb.Append(sr7.ReadToEnd());
sb.Append(sr8.ReadToEnd());
sb.Append(sr9.ReadToEnd());
season = sb.ToString();
}
break;
case 9:
using (StreamReader sr = new StreamReader(@"c:/Season1.txt"))
using (StreamReader sr2 = new StreamReader(@"c:/Season2.txt"))
using (StreamReader sr3 = new StreamReader(@"c:/Season3.txt"))
using (StreamReader sr4 = new StreamReader(@"c:/Season4.txt"))
using (StreamReader sr5 = new StreamReader(@"c:/Season5.txt"))
using (StreamReader sr6 = new StreamReader(@"c:/Season6.txt"))
using (StreamReader sr7 = new StreamReader(@"c:/Season7.txt"))
using (StreamReader sr8 = new StreamReader(@"c:/Season8.txt"))
using (StreamReader sr9 = new StreamReader(@"c:/Season9.txt"))
using (StreamReader sr10 = new StreamReader(@"c:/Season10.txt"))
{
sb.Append(sr.ReadToEnd());
sb.Append(sr2.ReadToEnd());
sb.Append(sr3.ReadToEnd());
sb.Append(sr4.ReadToEnd());
sb.Append(sr5.ReadToEnd());
sb.Append(sr6.ReadToEnd());
sb.Append(sr7.ReadToEnd());
sb.Append(sr8.ReadToEnd());
sb.Append(sr9.ReadToEnd());
sb.Append(sr10.ReadToEnd());
season = sb.ToString();
}
break;
case 10:
using (StreamReader sr = new StreamReader(@"c:/Season1.txt"))
using (StreamReader sr2 = new StreamReader(@"c:/Season2.txt"))
using (StreamReader sr3 = new StreamReader(@"c:/Season3.txt"))
using (StreamReader sr4 = new StreamReader(@"c:/Season4.txt"))
using (StreamReader sr5 = new StreamReader(@"c:/Season5.txt"))
using (StreamReader sr6 = new StreamReader(@"c:/Season6.txt"))
using (StreamReader sr7 = new StreamReader(@"c:/Season7.txt"))
using (StreamReader sr8 = new StreamReader(@"c:/Season8.txt"))
using (StreamReader sr9 = new StreamReader(@"c:/Season9.txt"))
using (StreamReader sr10 = new StreamReader(@"c:/Season10.txt"))
using (StreamReader sr11 = new StreamReader(@"c:/Season11.txt"))
{
sb.Append(sr.ReadToEnd());
sb.Append(sr2.ReadToEnd());
sb.Append(sr3.ReadToEnd());
sb.Append(sr4.ReadToEnd());
sb.Append(sr5.ReadToEnd());
sb.Append(sr6.ReadToEnd());
sb.Append(sr7.ReadToEnd());
sb.Append(sr8.ReadToEnd());
sb.Append(sr9.ReadToEnd());
sb.Append(sr10.ReadToEnd());
sb.Append(sr11.ReadToEnd());
season = sb.ToString();
}
break;
case 11:
using (StreamReader sr = new StreamReader(@"c:/Season1.txt"))
using (StreamReader sr2 = new StreamReader(@"c:/Season2.txt"))
using (StreamReader sr3 = new StreamReader(@"c:/Season3.txt"))
using (StreamReader sr4 = new StreamReader(@"c:/Season4.txt"))
using (StreamReader sr5 = new StreamReader(@"c:/Season5.txt"))
using (StreamReader sr6 = new StreamReader(@"c:/Season6.txt"))
using (StreamReader sr7 = new StreamReader(@"c:/Season7.txt"))
using (StreamReader sr8 = new StreamReader(@"c:/Season8.txt"))
using (StreamReader sr9 = new StreamReader(@"c:/Season9.txt"))
using (StreamReader sr10 = new StreamReader(@"c:/Season10.txt"))
using (StreamReader sr11 = new StreamReader(@"c:/Season11.txt"))
using (StreamReader sr12 = new StreamReader(@"c:/Season12.txt"))
{
sb.Append(sr.ReadToEnd());
sb.Append(sr2.ReadToEnd());
sb.Append(sr3.ReadToEnd());
sb.Append(sr4.ReadToEnd());
sb.Append(sr5.ReadToEnd());
sb.Append(sr6.ReadToEnd());
sb.Append(sr7.ReadToEnd());
sb.Append(sr8.ReadToEnd());
sb.Append(sr9.ReadToEnd());
sb.Append(sr10.ReadToEnd());
sb.Append(sr11.ReadToEnd());
sb.Append(sr12.ReadToEnd());
season = sb.ToString();
}
break;
season = season.Replace(namepersian, "شششش");
season = season.Replace(nameenglish, "aaaa");
season = season.Replace(finpersian,"شششش1");
season = season.Replace(finenglish,"aaaa1");
if (textBox1.Text == "")
{
textBox1.Text = mark;
}
else
{
season = season.Replace(mark, ",");
}
textBox2.Text = season;

}

pedram.11
دوشنبه 05 آبان 1393, 09:28 صبح
اگه اطلاعات خیلی سنگین هستن نباید کل اطلاعات رو در حافظه لود کنید که این کار باعث ارور overflow و پر بودن رم میشه. هرکاری میخواید بکنید روی دیسک انجام بدید. اگه هم کمکی از دستم برمیاد در مورد کار برنامه بیشتر توضیح بدید تا راهی پیدا کنیم :لبخندساده: