Cómo leer el contenido de un archivo en un String en Java (File to String)
¡Hola a todos! Soy nuevo en Java y no puedo entender cómo leer archivos. Necesito leer todo un archivo de texto en un solo String para luego procesarlo (por ejemplo, dividirlo en líneas o buscar una subcadena).
Intenté escribir mi propio código, pero queda engorroso y no 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. Si el archivo es grande, el programa se ralentiza (he oído que la concatenación de Strings en un bucle es mala).
2. No se especifica la codificación — en Windows, las letras rusas se convierten en caracteres extraños.
3. Si olvidas cerrar el stream, puede haber fugas de memoria.
4. El código se ve horrible — demasiadas líneas para una tarea tan simple.
Díganme, ¿cómo leer correcta y elegantemente un archivo en un String en Java moderno?