2
respostas

Dúvida no método LeituraBinaria()

Não fica claro na aula como as variáveis que foram criadas no método LeituraBinaria() recuperam os dados do arquivo. Como o ReadInt32, ReadDouble e ReadString buscam corretamente os dados que ficaram salvos no arquivo corretamente?

2 respostas

Olá, estudante!

No método LeituraBinaria(), as variáveis são criadas para armazenar os dados que serão lidos do arquivo. O método ReadInt32, por exemplo, lê um inteiro de 32 bits do arquivo e o armazena na variável correspondente. O mesmo acontece com o ReadDouble e o ReadString, que leem um double e uma string, respectivamente.

Esses métodos sabem onde buscar os dados no arquivo porque eles são implementados na classe BinaryReader, que é responsável por fazer a leitura dos dados do arquivo binário de forma correta. É importante lembrar que a ordem em que os dados foram escritos no arquivo deve ser a mesma em que eles são lidos, para que a leitura seja feita corretamente.

Espero ter ajudado e bons estudos!

A documentação oficial da Microsof também é uma ótima fonte de consulta para responder como cada método da classe BinaryReader funciona.

Por exemplo, o ReadInt32(): Lê um inteiro com sinal de 4 bytes do fluxo atual e avança a posição atual do fluxo em quatro bytes. Referência: https://learn.microsoft.com/pt-br/dotnet/api/system.io.binaryreader.readint32?view=net-6.0

ReadDouble: Lê um valor de ponto flutuante de 8 bytes do fluxo atual e avança a posição atual do fluxo em oito bytes. https://learn.microsoft.com/pt-br/dotnet/api/system.io.binaryreader.readdouble?view=net-6.0

ReadString: Lê uma cadeia de caracteres do fluxo atual. A cadeia de caracteres é prefixada com o tamanho, codificado como um inteiro, sete bits por vez. https://learn.microsoft.com/pt-br/dotnet/api/system.io.binaryreader.readstring?view=net-6.0