PDA

View Full Version : سوال: خواندن چند سطر



sadaf.v
سه شنبه 26 آبان 1388, 19:20 عصر
با سلام
چطوری میشه از یه فایل txt برای مثال 10 سطر ،10 سطر خواند.

کیوان رحیمی
سه شنبه 26 آبان 1388, 19:42 عصر
FileStream fs=new FileStream(pathfile,FileMode.open)
StreamReader SR=new StreamReader(fs)
string str=sr.readline()
string str1=sr.readline()
.
.
.
.
.
.

sadaf.v
سه شنبه 26 آبان 1388, 19:52 عصر
میخوام با زدن یک دکمه از یک فایل چند هزار سطری 10 تا 10 تا بخونم

saed2006
سه شنبه 26 آبان 1388, 20:31 عصر
یک متغیر برای شمارش سطر ها تعریف کن
به محض انکه به 10 رسیدی مقدار رو بردار و متغیر رو صفر کن
همینطوری ادامه بده تا اخر

saed2006
سه شنبه 26 آبان 1388, 20:34 عصر
while(به پایان نرسیدی)
str=str+readline();
if i<10
i++
else
i=0
از str استفاده کن

Reza_Yarahmadi
سه شنبه 26 آبان 1388, 21:40 عصر
میتونید از متد Seek در کلاس FileStream استفاده کنید.
long Counter = 0;
private void button1_Click(object sender, EventArgs e)
{
FileStream FS = new FileStream("File Path", FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
StreamReader SR = new StreamReader(FS, Encoding.Default);
FS.Seek(Counter, SeekOrigin.Begin);
string str = "";
for (int i = 0; i < 10; i++)
str += SR.ReadLine();
Counter += str.Length;
FS.Close();
//Do some thing on str
}

sadaf.v
چهارشنبه 27 آبان 1388, 09:30 صبح
Reza_Yarahmadi (http://www.barnamenevis.org/forum/member.php?u=97318)
برای 10 سطر اول درست کار می کنه اما برای سطرهای بعدی حروف را بصورت ناخوانا نمایش میده


http://up.iranblog.com/4/1258534670.jpg

sadaf.v
چهارشنبه 27 آبان 1388, 11:30 صبح
Reza_Yarahmadi (http://www.barnamenevis.org/forum/member.php?u=97318) جان
encoding را تغییر دادم درست شد.


StreamReader Sr=new StreamReader(FS,Encoding.UTF8);\\Encoding.Defaule

بازهم ممنون.

sadaf.v
چهارشنبه 27 آبان 1388, 17:28 عصر
کسی می تونه بگه مشکل برنامه کجاست.
فایل انگلیسی مشکلی نداره 10 سطر 10 سطر می خونه و نمایش میده ولی فایل فارسی 10 سطر اول درست نمایش می ده ولی برای 10 سطر بعدی به جای اینکه از سطر 11 نمایش بده از سطر ششم نمایش میده .