Avatar ·

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?