java-Datei.löschen() funktioniert nicht
Habe ich eine properties-Datei, und ich will verschlüsseln, die immer den gleichen Ordner verschlüsselt properties-Datei und löschen Sie die ursprüngliche Datei Eigenschaften. Wenn ich das auf meiner java-Anwendung zum ersten mal tut es richtig Weg. Aber wenn ich dies wieder tun, ist es nicht löschen Sie die erstellten original-properties-Datei. Wenn ich versuche zu löschen, die manuell es gibt mir einfach mal wieder die Meldung, dass "Die Aktion kann nicht abgeschlossen werden da die Datei in java(TM) platform SE binary.Schließen Sie die Datei und versuchen Sie es erneut." Nachdem ich das schließen meiner Anwendung kann manuell gelöscht werden. Mein code ist wie folgt. Problem ist auf der propfile123.löschen(). Wie kann ich dieses problem beheben.
//Encrypt the property file
Encrypt_Decrypt encrpt= new Encrypt_Decrypt("AES/ECB/PKCS5Padding","properties\\"+name_of_propertice_file+".properties", mstr_pass);
try {
encrpt.encrypt();
} catch (Exception ex) {
Logger.getLogger(Secure_File.class.getName()).log(Level.SEVERE, null, ex);
}
//delete the original properties file
File propfile123= new File("properties\\"+name_of_propertice_file+".properties");
System.out.println(propfile123.exists()); //always return true
System.out.println(propfile123.delete()); //here returns false when I call at second time to this method.
- Unzureichende Informationen zur Verfügung gestellt. Dieser code nicht das problem aufweisen, beschrieben.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Der Beweis ist klar, dass der Grund für das löschen fehlschlägt, ist, dass Ihre Anwendung hat immer noch die Datei öffnen ... irgendwo.
Diese zu lösen, müssen Sie herausfinden, wo Sie öffnen die Datei, und stellen Sie sicher, dass Sie es schließen ... bevor Sie versuchen, es zu löschen. (Ich vermute, dass das problem etwas damit zu tun, Ihre
Encrypt_Decrypt
Klasse, und die Art und Weise, die Sie es verwenden. Aber das ist nur eine Vermutung.)Wenn Sie eine Datei öffnen:
wenn Sie nicht, rufen Sie die Methode
close()
vonBufferedReader
können Sie die Datei nicht löschen.Immer schließen Sie die Datei, bevor Sie änderungen daran vornehmen, noch löschen oder umbenennen.
Ich hoffe, Ihnen zu helfen, Grüße.