java file.delete () wird nicht funktionieren

7

Ich habe eine Eigenschaftendatei erstellt und möchte diese verschlüsseln, die dieselbe Ordner-verschlüsselte Eigenschaftendatei behält und die ursprüngliche Eigenschaftendatei löscht. Wenn ich dies auf meiner Java-Anwendung zum ersten Mal mache, macht es den richtigen Weg. Aber wenn ich das nochmal mache, löscht es die erstellte Original-Eigenschaftendatei nicht. Wenn ich versuche, das manuell zu löschen, versuche ich es erneut mit der Meldung, dass "die Aktion nicht abgeschlossen werden kann, da die Datei in der binären Java-Plattform SE geöffnet ist. Schließen Sie die Datei und versuchen Sie es erneut." Nachdem ich meine Anwendung geschlossen habe, kann sie manuell gelöscht werden. Mein Code ist wie folgt. Problem ist auf der propfile123.delete (). Wie kann ich dieses Problem lösen?

%Vor%     
Gayan Fernando 09.11.2013, 02:28
quelle

2 Antworten

12

Der Beweis dafür ist, dass der Grund für das Löschen fehlschlägt, weil Ihre Anwendung die Datei immer noch irgendwo geöffnet hat.

Um dies zu beheben, müssen Sie herausfinden, wo Sie die Datei öffnen und sicherstellen, dass Sie sie schließen, bevor Sie versuchen, sie zu löschen. (Ich vermute, dass das Problem etwas mit Ihrer Encrypt_Decrypt -Klasse zu tun hat und mit der Art, wie Sie sie benutzen. Aber das ist nur eine Vermutung.)

    
Stephen C 09.11.2013, 02:38
quelle
7

Wenn Sie eine Datei öffnen:

%Vor%

Wenn Sie die Methode close() von BufferedReader nicht aufrufen, können Sie die Datei nicht löschen.

Schließen Sie die Datei immer, bevor Sie Änderungen daran vornehmen, löschen Sie sie sogar oder benennen Sie sie um. Ich hoffe dir zu helfen, Grüße.

    
Rosendo Ropher 19.03.2014 19:22
quelle

Tags und Links