我已经创建了一个属性文件,我想加密保留相同文件夹的加密属性文件并删除原始属性文件。当我第一次在我的 java 应用程序上执行此操作时,它会以正确的方式进行。但是当我再次这样做时,它不会删除创建的原始属性文件。当我尝试手动删除它时,它给了我一条重试消息,说“无法完成该操作,因为文件在 java(TM) 平台 SE 二进制文件中打开。关闭文件并重试。” 在我关闭我的应用程序后,它可以手动删除。我的代码如下。问题出在 propfile123.delete() 上。我该如何解决这个问题。
//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.