В проверке условия метод 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());

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.833 из 5
Похожие ответы