Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

A saida do BufferedReader não imprime todas as linhas do arquivo .txt

Ao imprimir o arquivo.txt, que chamei de letra.txt, percebi que a saida do BufferedReader não mostra todas as linhas. Para ser mais preciso, ele mostra linha sim, linha não. Alguém sabe me dizer o porquê disso? Esse é o meu código.

import java.io.BufferedReader; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.Reader;

public class TesteLeitura {

public static void main(String[] args) throws IOException {

    //Fluxo de entrada com arquivo letra.txt
    InputStream fis = new FileInputStream("letra.txt"); //get bytes 
    Reader isr = new InputStreamReader(fis); //bytes -> char
    BufferedReader br = new BufferedReader(isr); //char -> linha 

    String linha = br.readLine();

    while(br.readLine() != null) {
        System.out.println(linha);
        linha = br.readLine();
    }

    br.close();
}

}

1 resposta
solução!

Bom dia, Diego! Como vai?

Isso está ocorrendo pois vc está fazendo uma leitura extra da linha na condição do while! A condição correta que vc deveria utilizar no while seria linha != null em vez de br.readLine() != null.

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

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