fichier java.delete() ne fonctionne pas
J'ai créé un fichier de propriétés, et je veux crypter que garder le même dossier crypté fichier de propriétés et de supprimer les propriétés d'origine du fichier. Quand je fais cela sur mon application java premier temps, elle n'est de manière correcte. Mais quand je fais ça encore, ça ne veut pas supprimer l'a créé les propriétés d'origine du fichier. Quand j'ai essayer de supprimer manuellement il me donne d'essayer de nouveau message disant que "L'action ne peut pas être réalisée car le fichier est ouvert en java(TM) platform SE binary.Fermez le fichier et essayez à nouveau." Après je clôture mon application, il peut être supprimé manuellement. Mon code est comme suit. Le problème est sur l'propfile123.supprimer(). Comment puis-je résoudre ce problème.
//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.
OriginalL'auteur Gayan Fernando | 2013-11-09
Vous devez vous connecter pour publier un commentaire.
La preuve est claire que la raison de la suppression est défaut est que votre demande encore a l'ouverture de fichier ... quelque part.
Pour résoudre ce problème, vous avez besoin de savoir où vous ouvrez le fichier, et assurez-vous que vous la fermer ... avant de tenter de le supprimer. (Je soupçonne que le problème est quelque chose à faire avec votre
Encrypt_Decrypt
classe, et la façon dont vous l'utilisez. Mais c'est juste une supposition.)Sans SSCCE, je ne pense pas que nous pouvons vous aider avec ceci.
OriginalL'auteur Stephen C
Lorsque vous ouvrez un fichier:
si vous ne faites pas un appel à la méthode
close()
deBufferedReader
vous ne pouvez pas supprimer le fichier.Toujours fermer le fichier avant de faire des changements, voire même de le supprimer ou le renommer.
J'espère pouvoir vous aider, salutations.
OriginalL'auteur Rosendo Ropher