2010-08-29 24 views
5

¿Cómo se produce una nueva línea en FileWriter? Parece que "\ n" no funciona.Newline en FileWriter

log = new FileWriter("c:\\" + s.getInetAddress().getHostAddress() + ".txt", true);  
log.append("\n" + Long.toString(fileTransferTime)); 
log.close(); 

La salida de archivo del código anterior es solo una larga cadena de números sin la nueva línea.

+0

¿Está el \ t en la segunda línea un error tipográfico o intencional? Porque \ n debería funcionar - AFAIK. –

+2

Su código no incluye ningún '\ n'. – whiskeysierra

+0

Lo siento, quise decir "\ n". Lo cambié a \ t porque parece funcionar. –

Respuesta

12

Supongo que está abriendo el archivo .txt en el Bloc de notas, que no mostrará líneas nuevas con solo \n.

¿Ha intentado utilizar la combinación de caracteres de nueva línea específica del sistema?

log.append(System.getProperty("line.separator") + Long.toString(fileTransferTime)); 
+1

¡Gracias por sus entradas! Acabo de descubrir que el Bloc de notas no muestra "\ n" líneas nuevas, mientras que otros editores lo harán. System.getProperty ("line.separator") hace el trabajo incluso si se abre en el Bloc de notas. –

1

Intente cambiar \t por \n en la segunda línea.

4

Debe ya sea encapsular su FileWriter en un PrintWriter si su objetivo es tener un contenido formateado, println() le ayudará. O use la propiedad del sistema line.separator para tener un separador adaptado a su sistema operativo.

System.getProperty("line.separator") 

Recursos:

+0

Muchas gracias, System.getProperty ("line.separator") funciona. :) –

2

que estoy usando "\ r \ n" y funciona muy bien para mí. Incluso al abrir el documento .txt en el bloc de notas;)

+1

Para ser independiente de la plataforma, no debe codificarlo. P.ej. Los sistemas Unix usan '\ n'. Y es una pena que mucha gente votó a favor de esto ya que las otras respuestas son mucho mejores. – nkr