2010-08-29 13 views
5

Jak utworzyć nową linię w FileWriter? Wygląda na to, że "\ n" nie działa.Newline w FileWriter

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

Plik wyjściowy powyższego kodu to tylko długi ciąg liczb bez nowego wiersza.

+0

Czy \ t w drugim wierszu jest literówka lub umyślnie? Ponieważ \ n powinno działać - AFAIK. –

+2

Twój kod nie zawiera żadnego '\ n'. – whiskeysierra

+0

Przepraszam, miałem na myśli "\ n". Zmieniłem go na \ t, ponieważ wygląda na to, że działa. –

Odpowiedz

12

Podejrzewam, że otwierasz plik .txt w Notatniku, który nie pokaże znaków nowej linii tylko z \n.

Czy próbowałeś użyć swojej specyficznej dla systemu kombinacji znaków nowej linii?

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

Dzięki za twoje dane wejściowe! Właśnie się okazało, że Notatnik nie wyświetla "nowych" linii, podczas gdy inne edytory będą. System.getProperty ("line.separator") wykonuje zadanie nawet po otwarciu w Notatniku. –

1

Spróbuj zmienić \t na \n w drugim wierszu.

4

Należy też otaczać swoje FileWriter do PrintWriter jeśli twoim celem jest, aby mieć sformatowany treści, println() pomoże. Lub użyj właściwości systemowej line.separator, aby mieć separator dostosowany do twojego systemu operacyjnego.

System.getProperty("line.separator") 

Zasoby:

+0

Wielkie dzięki, System.getProperty ("line.separator") działa. :) –

2

używam "\ r \ n" i działa świetnie dla mnie. Nawet przy otwieraniu dokumentu .txt w notatniku;)

+1

Aby być niezależnym od platformy, nie powinieneś tego kodować. Na przykład. Systemy uniksowe używają '\ n'. Szkoda, że ​​tak wiele osób wzięło górę nad tym, ponieważ inne odpowiedzi są lepsze. – nkr

Powiązane problemy