Como ler o conteúdo de um arquivo para uma String em Java? (File to String)
Olá a todos! Sou novo em Java e não consigo entender a leitura de arquivos. Preciso ler um arquivo de texto inteiro em uma única String para depois processá-la (por exemplo, dividir em linhas ou encontrar uma substring).
Tentei escrever por conta própria, mas o código ficou complicado e não funciona:
```java
File file = new File("test.txt");
String content = "";
try {
FileInputStream fis = new FileInputStream(file);
int b;
while ((b = fis.read()) != -1) {
content += (char) b;
}
fis.close();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(content);
```
Problemas:
1. Se o arquivo for grande, o programa fica lento (ouvi dizer que concatenar strings em loop é ruim).
2. A codificação não foi especificada — no Windows, letras russas viram caracteres estranhos.
3. Se esquecer de fechar o stream, pode haver vazamento de memória.
4. O código parece horrível — muitas linhas para uma tarefa tão simples.
Dicas de como ler um arquivo para uma String de forma correta e elegante no Java moderno?