Pessoal, é o seguinte eu tenho um exercício aqui na apostila que são exercícios que fazemos durante a aula no curso de Java e agora que estou refazendo o exercício fiquei com uma dúvida sobre o funcionamento do código abaixo:
import java.io.*;
public class Programa10 {
public static void main(String[] args) {
char [] lista = new char[50];
File f = new File("C:\Users\Rafael\Documents\rafael_workspace\Teste10.txt");
try{
Writer fw = new FileWriter(f);
fw.write("sersoft java scjp");
fw.flush();
fw.close();
Reader fr = new FileReader(f);
while(fr.read(lista) != -1){
for(char c : lista){
if(c != 0){
System.out.print(c);
}
}
}
} catch (IOException e){
System.out.println("O arquivo não pôde ser criado!");
}
}
}
A minha dúvida é:
"Como o "System.out.print(c);" pode estar imprimindo caracteres, sendo que o array de char está vazio, ou seja, tem 50 posições que não foram preenchidas? Isso tem alguma coisa a ver com o método "fr.read(lista)"?"
Valeu!