No momento em que fazendo a leitura binaria das linhas do arquivo, venho tendo este problema:
Unable to read beyond the end of stream
Segue código abaixo:
No momento em que fazendo a leitura binaria das linhas do arquivo, venho tendo este problema:
Unable to read beyond the end of stream
Segue código abaixo:
Olá, Franklin!
Parece que você está tendo um problema com a leitura de arquivos binários em C#. A mensagem de erro "Unable to read beyond the end of stream" geralmente ocorre quando você tenta ler além do final de um arquivo..
Esse erro geralmente ocorre quando você está tentando ler mais dados do que existem no arquivo. Por exemplo, se você estiver usando o método BinaryReader.ReadBytes(int count)
, o parâmetro count
deve ser menor ou igual ao número de bytes restantes no arquivo.
Aqui está um exemplo de como você pode fazer isso corretamente:
using (var reader = new BinaryReader(File.Open("myfile.bin", FileMode.Open)))
{
int remainingBytes = (int)(reader.BaseStream.Length - reader.BaseStream.Position);
byte[] data = reader.ReadBytes(remainingBytes);
}
Neste exemplo, remainingBytes
é o número de bytes restantes no arquivo, e reader.ReadBytes(remainingBytes)
lê exatamente esse número de bytes. Se você tentar ler mais bytes do que isso, receberá o erro "Unable to read beyond the end of stream".
Espero ter ajudado e bons estudos!