Avatar ·

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?