In Java einen Text in eine Datei einfügen
Hallo,
ich habe eine Frage zum Einfügen eines Textes in eine Textdatei (.txt) mittels Java (siehe Bild).
Ich möchte eine Zahl, diese ist schon ein String, einmal in die Textdatei Test.txt und als BackUp in die Textdatei BackUp.txt schreiben. (Die Methoden werden in einer weiteren Methode "speichern(String pNummer)" direkt hintereinander aufgerufen.)
Dabei soll vor jeder eingefügten Zahl ein Zeilenumbruch sein. Dies geschieht mit Hilfe des Befehls ".write(System.getProperty("lineSeperator"))". Nur leider funktioniert das nicht so ganz. Java kann den Befehl ".write(System.getProperty("lineSeperator"))" nicht in EINER Methode (speichern(String pNummer)) ZWEIMAL aufrufen.
Was kann ich tun, damit in beiden Textdateien die Zahlen untereinander aufgeschrieben werden? Gibt es noch einen anderen Befehl, mit dem man einen Zeilenumbruch realisieren kann?
Vielen Dank im Vorraus, Jonas918

2 Antworten
Du könntest eine andere Klasse zur Ausgabe deiner Zahlen verwenden. Die Klasse "PrintWriter" ist mehr auf die Ausgabe von Text spezialisiert als "FileWriter". In der Klasse "PrintWriter" ist schon eine Methode "println()" vorhanden und somit musst du dir keine Gedanken um den Zeilenumbruch machen.
Beispiel wäre:
public void schreiben(String lNummer) {
file = new File("Test.txt");
try (PrintWriter writer = new PrintWriter(new FileWriter(file, true))) {
writer.println(lNummer);
} catch (IOException ioe) {
ioe.printStackTrace();
}
}
- WAS geht nicht zweimal?
- int in String speichern ist sehr ineffizient, wnen du die Zahl nicht irgendwie selbst in der Datei bearbeiten willst.
- Es gibt andere Möglichkeiten, die aber genau das Gleiche tun...