Код выбрасывает исключение "Чтение после конца потока невозможно" - C#
Формулировка задачи:
Исключения в строках 52 и 66
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { BinaryWriter BrOut = null; BinaryReader BrIn = null; string a; try { BrOut = new BinaryWriter(new FileStream("file.txt", FileMode.Create) ); BrOut.Write("Audi"); BrOut.Write("6000"); BrOut.Write("6"); BrOut.Write("Bmw"); BrOut.Write("8000"); BrOut.Write("8"); BrOut.Write("Mercedes"); BrOut.Write("20000"); BrOut.Write("2"); } catch (IOException exc) { Console.WriteLine(exc.Message); } catch (Exception exc) { Console.WriteLine(exc.Message+" "+"Что то не так с другим исключением"); } finally { if (BrOut!=null) BrOut.Close(); } try { BrIn = new BinaryReader(new FileStream("file.txt", FileMode.Open)); string request = Console.ReadLine(); Console.WriteLine(); if (!(a=BrIn.ReadString()).Equals(request)) { do { string s= BrIn.ReadString(); int i= BrIn.ReadInt32(); byte b=BrIn.ReadByte(); } while (BrIn.PeekChar() != -1); } else { Console.WriteLine("Совпадение найдено" +" "+ a); } } catch (IOException exc) { Console.WriteLine(exc); } catch (Exception exc) { Console.WriteLine(exc.Message); } finally { BrIn.Close();д BrOut.Close(); } Console.ReadKey(); } } }
Решение задачи: «Код выбрасывает исключение "Чтение после конца потока невозможно"»
textual
Листинг программы
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; namespace ConsoleApplication1 { class Program { static void Main(string[] args) { BinaryWriter BrOut = null; BinaryReader BrIn = null; string a; try { BrOut = new BinaryWriter(new FileStream("file.txt", FileMode.Create)); BrOut.Write("Audi"); BrOut.Write("6000"); BrOut.Write("6"); BrOut.Write("Bmw"); BrOut.Write("8000"); BrOut.Write("8"); BrOut.Write("Mercedes"); BrOut.Write("20000"); BrOut.Write("2"); } catch (IOException exc) { Console.WriteLine(exc.Message); } catch (Exception exc) { Console.WriteLine(exc.Message + " " + "Что то не так с другим исключением"); } finally { if (BrOut != null) BrOut.Close(); } try { BrIn = new BinaryReader(new FileStream("file.txt", FileMode.Open)); string request = null; do { Console.WriteLine("Your request: "); request = Console.ReadLine(); Console.WriteLine("Searching..."); string toFound = null; bool founded = false; long position = 0; BrIn.BaseStream.Position = position; while (BrIn.BaseStream.Position != BrIn.BaseStream.Length) { BrIn.BaseStream.Seek(position, SeekOrigin.Begin); toFound = Encoding.Unicode.GetString(BrIn.ReadBytes(request.Length * 2)); if (toFound.Equals(request)) { founded = true; Console.WriteLine("Founded at index : {0} in file!!!", BrIn.BaseStream.Position - toFound.Length * 2); break; } position++; } if (!founded) Console.WriteLine("Не найдено такого слова.\n"); } while (request != "end"); } catch (IOException exc) { Console.WriteLine(exc); } catch (Exception exc) { Console.WriteLine(exc.Message); } finally { BrIn.Close(); BrOut.Close(); } Console.ReadKey(); } } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д