Ich habe ein paar Dateien für die temporäre Verwendung erstellt und sie als Eingaben für einige Methoden verwendet. Und ich riefdeleteOnExit löscht die Datei nicht
deleteOnExit()
auf alle Dateien, die ich erstellte. Aber eine Datei bleibt noch.
Ich nehme an, es liegt daran, dass die Datei noch in Gebrauch ist, aber nicht der Compiler zur nächsten Zeile geht erst nach der aktuellen Zeile erfolgt? (Single-Thread)
Während seines kein Problem praktisch wegen Java überschreibt, es gibt immer nur eine Datei. Ich möchte verstehen, warum es passiert, und auch wenn ich
Thread.sleep(sometime);
bearbeiten können: -
File x = new file("x.txt");
new class1().method1();
Nachdem alle Dateien zu erstellen (5), habe ich nur noch diese Zeile
x.deleteOnExit(); y.deletOnExit() and so on...
Alle Dateien außer der letzten werden gelöscht.
Sie wollen, um Ihren Code anzuhängen. Das Problem könnte darin liegen. –
Haben Sie Ihren Java-Prozess tatsächlich beendet? –
Eine mögliche bessere Methode, um dies zu umgehen, ist die Verwendung von Finalizern ... –