Lesen und Schreiben von und in dieselbe Datei in Java

8

Ich möchte von criteria.txt file lesen, die Token am Ende der gleichen Datei tokenisieren und anhängen. Das Programm löst eine Ausnahme aus: No file found! Ich weiß nicht, wo mein Fehler ist. Jeder Vorschlag würde mir helfen. Vielen Dank im Voraus!

Hier ist mein Code:

%Vor%     
Lavinia 03.10.2012, 16:57
quelle

3 Antworten

8

Sie müssen Ihr Lesegerät schließen, nachdem Sie die Datei gelesen haben, d. h. nach der while-Schleife. Momentan schließen Sie es nach dem Lesen der ersten Zeile, was zu einem " IOException: Stream closed " führt, wenn es versucht, die zweite Zeile zu lesen.

Wechseln zu:

%Vor%     
dogbane 03.10.2012, 17:14
quelle
1

Ihr größter Nachteil ist das Platzieren der br.close(); in der while() -Schleife: Sie sagen dem Computer jedes Mal, wenn er in die Datei schreibt, um ihn sofort zu schließen, daher bleibt die Datei geschlossen und der Computer wird sie während der nächsten nicht finden Iteration / Ausführung der Schleife. Allerdings habe ich das initiale Programm dazu editieren:

%Vor%

Der Ordner oder das Verzeichnis, in dem die Datei existiert, spielt in diesem Fall keine Rolle, da das Programm eine neue Datei namens "criteria.txt" in demselben Ordner wie das Java-Programm erstellt; Allerdings müssen Sie die Datei mit einem Texteditor öffnen, um Daten hinzuzufügen / anzufügen, da die Datei anfänglich leer ist. Bei der nachfolgenden Ausführung des Programms werden nun die bereits eingefügten Inhalte als Verkettungszeichenfolge an eine neue Zeile angehängt. Bei jeder Ausführung des Programms wird eine neue Zeile erstellt. Hoffe, das hilft.

    
Morufu Salawu 13.10.2012 00:15
quelle
0

Meiner Meinung nach können Sie das nicht tun. Sie können dieselbe Datei nicht gleichzeitig zum Lesen und Schreiben öffnen. Sie müssen die Dateiinformationen in einer Datenstruktur öffnen und speichern und dann schließen. Dann müssen Sie mit der Datenstruktur im Speicher arbeiten und die Datei öffnen, um Ergebnisse zu schreiben. Und wenn du mit dem Schreiben fertig bist, solltest du es schließen.

    
Dranste 03.10.2012 21:51
quelle

Tags und Links