1
resposta

Numero de bytes lidos

não compreendi o porque da variável 'numeroDeBytesLidos' se iniciar em -1.

1 resposta

Olá, Claudete! Entendo que a inicialização da variável 'numeroDeBytesLidos' com -1 possa ter gerado algumas dúvidas, mas vou tentar esclarecer isso para você.

O método Read da classe FileStream retorna o número total de bytes lidos do buffer. Caso o final do fluxo seja atingido, o retorno será zero. Portanto, o método nunca retornará um valor negativo.

A variável 'numeroDeBytesLidos' é inicializada com -1 para garantir que o loop while seja executado pelo menos uma vez, independentemente do conteúdo do arquivo. Isso ocorre porque a condição do loop é while(numeroDeBytesLidos != 0), ou seja, o loop continua enquanto o número de bytes lidos for diferente de zero.

Vamos a um exemplo prático. Suponha que você tenha um arquivo vazio. Quando você chama o método Read, ele retorna 0, indicando que não há bytes para ler. Se 'numeroDeBytesLidos' fosse inicializado com 0, o loop while nem sequer seria executado, pois a condição já seria falsa desde o início. Ao inicializar 'numeroDeBytesLidos' com -1, garantimos que o loop seja executado pelo menos uma vez, mesmo que o arquivo esteja vazio.

Espero ter ajudado e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software