1
resposta

[Dúvida] Aula 04 - StreamWriter e StreamReader (Resolvido)

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:

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

1 resposta

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!