Das Ende der Zeile, FileWriter \n
Ich versuche, fügen Sie einen Zeilenumbruch, um eine bereits vorhandene Datei, aber alle Befehle, die ich ausprobiert habe führten nur anfügen, das der ersten Zeile. Ich möchte die Ausgabe in die Datei zu schauen, wie
ROW1
ROW2
private void addToFavToFile(String site){
BufferedWriter writer = null;
File root = Environment.getExternalStorageDirectory();
try{
writer = new BufferedWriter(new FileWriter(Environment.getExternalStorageDirectory()+"/test2.txt",true));
writer.write("ROW1");
writer.newLine();
writer.write("ROW2");
writer.close();
}catch(Exception e){
}
Wie löse ich dieses?
- Wenn Ihre Frage beantwortet wurde, oder wenn es nicht mehr gültig ist, bitte 'tick' zu wählen, die am besten passende Antwort, so dass jeder weiß, dass das problem behoben wurde. Danke.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich versucht den folgenden code, und es scheint, zu produzieren, was Sie sind nach.
Um es zu testen, legte ich die Zeile "Dies ist die erste Zeile." zu Beginn meiner test-Datei. Nachdem Sie ein paar mal, die Ausgabe sieht wie folgt aus:
Wie Sie sehen können aus dem Zeitstempel, ich bin das anfügen neuer Zeilen am Ende der Datei jedes mal.
Bitte verwenden Sie folgenden code,
Anstatt
writer.newLine();
Sollten Sie verwenden
writer.write("\\n\\r");
newLine()
ist das gleiche wiewrite(System.getProperty("line.separator"))
, die sollte die richtige Terminierung für das system.Können Sie auch versuchen zu nutzen
PrintWriter.println(String s)
http://docs.oracle.com/javase/6/docs/api/java/io/PrintWriter.html
Wenn Sie wollen einfach nur die Letzte Zeile zu brechen, fügen Sie die
writer.newLine()
nachwriter.write("Row2")
.Wenn es keinen Zeilenumbruch geschrieben wird,
writer.newLine()
kann schreiben, das falsche Zeilenende-Markierung in der Datei. Schreibe es von hand.Warum Sie nicht zwingen, es zu schreiben am Ende der Datei, indem Sie die
offset
in der write-Befehle...Anstatt das hinzufügen einer neuen Linie, versuchen Sie, hinzufügen von zwei Zeilenumbrüche in Folge.
Einer für den Gang in die Zeile unterhalb ROW1 und die andere für das einfügen eine weitere leere Zeile.