Estoy usando la siguiente función para escribir una cadena en un archivo. La cadena está formateada con caracteres de nueva línea.Java: BufferedWriter omitiendo la nueva línea
Por ejemplo, text = "sometext\nsomemoretext\nlastword";
soy capaz de ver los caracteres de nueva línea del archivo de salida cuando lo haga:
type outputfile.txt
Sin embargo, cuando abro el texto en el bloc de notas que no puedo ver el nuevas líneas. Todo aparece en una sola línea.
¿Por qué sucede esto? ¿Cómo puedo asegurarme de que escribo el texto correctamente para poder verlo correctamente (formateado) en el bloc de notas?
private static void FlushText(String text, File file)
{
Writer writer = null;
try
{
writer = new BufferedWriter(new FileWriter(file));
writer.write(text);
}
catch (FileNotFoundException e)
{
e.printStackTrace();
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
try
{
if (writer != null)
{
writer.close();
}
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
Oh. Ahora estoy usando System.getProperty ("line.separator"); No puedo usar BufferedWriter.newLine() ya que necesito completar la cadena completa antes de escribirla. – devnull
Esto me salvó. Estoy trabajando con Wicket, y BufferedWriter.newLine() funcionaba localmente, pero no en tomcat ... Probé el \ r \ n y funcionó como un amuleto ... ¡Gracias! – eaglei22