Java In TXT Datei neue Zeile schreiben?

2 Antworten

Du kannst für dieses Vorhaben eine LinkedList verwenden. Dazu wäre eine Methode günstig, über die du der Liste neue Elemente (am Anfang) zufügst. Wenn es mehr als zehn Elemente sind, entfernst du zusätzlich das letzte Element.

void add(String element) {
  if (list.size() > 10) {
    list.pollLast();
  }

  list.offerFirst(element);
}

Den initialen Stand der Textdatei kann man mit readAllLines einholen.

Path path = Paths.get("path to txt file ...");
list.addAll(Files.readAllLines(path));

Und mit write wird geschrieben.

Files.write(path, list, Charset.defaultCharset());

Heeeeeeeeeey 
Beitragsersteller
 23.04.2022, 14:37

Danke, aber verstehe ich noch nicht.

Was ist String element?

regex9  23.04.2022, 14:50
@Heeeeeeeeeey

Das ist die Zeichenkette, die zur Liste hinzukommt. Nach deinem Anwendungsfall zum Beispiel die "11".

Ich würde die Zeilen in ein Array lesen und dann das Array updaten und zum schluss alles in die Datei schreiben. So z.B. mit Python

f = open('input.txt','r')
l = f.read.splitlines()
f.close()
inp = ''
while inp != 'stop':
  inp = input('Eingabe: ')
  l[0] = inp
  l.pop(9)
with open('input.txt', 'w') as f:
  for i in l:
    f.write(i+'\n')
Woher ich das weiß:Studium / Ausbildung – Informatikstudent