Olá!
Eu tinha entendido em aulas anteriores que um objeto String é imutável. Sendo assim, porque a variavél "linha" recebe o retorno do método "br.readLine()" e ao imprimir a linha o texto muda?
package br.com.alineri.java.io.teste;
import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
public class TesteLeitura {
public static void main(String[] args) throws IOException {
// Fluxo de entrada com Arquivo
FileInputStream fis = new FileInputStream("lorem.txt");
InputStreamReader isr = new InputStreamReader(fis);
BufferedReader br = new BufferedReader(isr);
String linha = br.readLine();
while (linha != null) {
System.out.println(linha);
linha = br.readLine();
}
br.close();
}
}
Na minha cabeça, a variável "linha" tinha que ser declarada dentro do escopo do "while" e ser recriada a cada iteração, não podendo ser utilizada como condição de parada do laço.
Obrigado!