Я использую следующий код:EndOfStreamException с простым BinaryWriter и BinaryReader
var fileStream = new MemoryStream();
var binaryWriter = new BinaryWriter(fileStream);
var binaryReader = new BinaryReader(fileStream);
binaryWriter.Write("Hello");
var msg = binaryReader.ReadString();
Однако я получаю следующее исключение:
System.IO.EndOfStreamException: Unable to read beyond the end of the stream.
Перед чтением, binaryReader.BaseStream.Length
больше, чем 0, однако binaryReader.PeekChar()
возвращает -1.
Что я делаю неправильно?
У меня нет компилятора 'C#', но это может быть потому, что вы не 'Flush'у ваших письменных данных на базовом устройстве. Попробуйте положить 'binaryWriter.Flush()' после написания на него. –
Flush() не работает. Проблема была действительно с позицией. – Mugen