В проверке условия метод ReadByte() выдает значение -1 - C#
Формулировка задачи:
Господа, помогите разобраться пожалуйста. В целях обучения решил сделать небольшую программку. Она должна принимать с консоли введенный текст, после чего сохранить его в файл 9.txt. А потом этот файл побайтово копируется в файл 99.txt. Однако когда я начинаю это делать то в проверке условия метод ReadByte() сразу же выдает значение -1 (то есть будто строчка пустая). Не могу понять почему так. Вот код
using System; using System.IO; class a { static void Main() { FileStream fs = new FileStream(@"D:\9.txt", FileMode.OpenOrCreate); StringReader sr = new StringReader(Console.ReadLine()); StreamWriter SW = new StreamWriter(fs); SW.Write(sr.ReadToEnd()); SW.Flush(); FileStream fs1 = new FileStream(@"D:\99.txt", FileMode.OpenOrCreate); int x = 0; while (true) { x = fs.ReadByte(); if (x == -1) break; fs1.WriteByte((byte)x); } } }
Решение задачи: «В проверке условия метод ReadByte() выдает значение -1»
textual
Листинг программы
SW.Write(sr.ReadToEnd());
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д