Prácticamente cada ejemplo de código lee un archivo TXT línea por línea y lo almacena en una matriz String. No quiero procesar línea por línea porque creo que es una pérdida innecesaria de recursos para mis requisitos: todo lo que quiero hacer es volcar rápida y eficientemente el contenido .txt en una sola Cadena. El método a continuación hace el trabajo, sin embargo, con un inconveniente:¿Cómo puedo leer un archivo .txt en una sola cadena de Java mientras mantengo los saltos de línea?
private static String readFileAsString(String filePath) throws java.io.IOException{
byte[] buffer = new byte[(int) new File(filePath).length()];
BufferedInputStream f = null;
try {
f = new BufferedInputStream(new FileInputStream(filePath));
f.read(buffer);
if (f != null) try { f.close(); } catch (IOException ignored) { }
} catch (IOException ignored) { System.out.println("File not found or invalid path.");}
return new String(buffer);
}
... el inconveniente es que los saltos de línea se convierten en espacios largos, por ejemplo, " ".
Quiero convertir los saltos de línea de \ n o \ r a <br> (etiqueta HTML).
Gracias de antemano.
He intentado añadir este método para convertir los saltos de línea del archivo de texto en HTML
etiquetas, pero no funcionó: string.replaceAll ("(\ r \ n | \ n)", "
"); – slashline
Procesarlo línea por línea será igual de eficiente (si no más) que volcar todo el archivo, luego retroceder y reemplazar saltos de línea con las etiquetas
' –
Realmente, un ciclo que pasa por cada línea es igual de eficiente ? Interesante ... podría ir con eso entonces. ¡Gracias! – slashline