Parham.D
سه شنبه 26 آذر 1387, 00:00 صبح
دوستان عزيز و استادان گرامي، با متد ReadString مشكل پيدا كردم كه اميدوارم با كمك شما آن را حل كنم.
كد مورد نظر اين است:
while (RemindersFile.Length != RemindersFile.Position)
}
//Reading data.
TempRecords.IDField = ReadFromRemindersFile.ReadInt32();
TempRecords.TypeOfDateField = ReadFromRemindersFile.ReadBoolean();
TempRecords.OptionField = ReadFromRemindersFile.ReadBoolean();
TempRecords.DateField.Replace(TempRecords.DateFiel d.ToString(), ReadFromRemindersFile.ReadString());
TempRecords.TitelField.Replace(TempRecords.TitelFi eld.ToString(), ReadFromRemindersFile.ReadString());
TempRecords.NoteField.Replace(TempRecords.NoteFiel d.ToString(), ReadFromRemindersFile.ReadString());
{
پيغام خطا اين است: اين پيغام براي خطوطي كه ReadString دارند ايجاد ميشود.
IOException: End of stream exception
سوالات پيش آمده:
1. در سه خط اول BinaryReader خوب كار ميكند و يك int و دو Boolean را ميگيرد و position را تغيير ميدهد. اما به بخش ReadString كه ميرسد، به نظرم ميآيد كه كل فايل را از آخرين position ميخواند كه باعث خطا ميشود. چرا؟؟؟
2. مشكل با استفاده از ReadBytes هم حل نشد. ReadBytes ميتواند به تعداد مشخص بايت بخواند ولي آنها را به رشته تبديل نميكند. چرا؟؟؟
3. چطور ميتوانم به ReadString بگويم كه به تعداد مشخص رشته را بخواند، مثلا 50 كاراكتر؟
با سپاس فراوان از كمكتان . . .
كد مورد نظر اين است:
while (RemindersFile.Length != RemindersFile.Position)
}
//Reading data.
TempRecords.IDField = ReadFromRemindersFile.ReadInt32();
TempRecords.TypeOfDateField = ReadFromRemindersFile.ReadBoolean();
TempRecords.OptionField = ReadFromRemindersFile.ReadBoolean();
TempRecords.DateField.Replace(TempRecords.DateFiel d.ToString(), ReadFromRemindersFile.ReadString());
TempRecords.TitelField.Replace(TempRecords.TitelFi eld.ToString(), ReadFromRemindersFile.ReadString());
TempRecords.NoteField.Replace(TempRecords.NoteFiel d.ToString(), ReadFromRemindersFile.ReadString());
{
پيغام خطا اين است: اين پيغام براي خطوطي كه ReadString دارند ايجاد ميشود.
IOException: End of stream exception
سوالات پيش آمده:
1. در سه خط اول BinaryReader خوب كار ميكند و يك int و دو Boolean را ميگيرد و position را تغيير ميدهد. اما به بخش ReadString كه ميرسد، به نظرم ميآيد كه كل فايل را از آخرين position ميخواند كه باعث خطا ميشود. چرا؟؟؟
2. مشكل با استفاده از ReadBytes هم حل نشد. ReadBytes ميتواند به تعداد مشخص بايت بخواند ولي آنها را به رشته تبديل نميكند. چرا؟؟؟
3. چطور ميتوانم به ReadString بگويم كه به تعداد مشخص رشته را بخواند، مثلا 50 كاراكتر؟
با سپاس فراوان از كمكتان . . .