gpt4 book ai didi

java file.delete() 不会工作

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:31:05 24 4
gpt4 key购买 nike

我已经创建了一个属性文件,我想加密以保留同一个文件夹的加密属性文件并删除原始属性文件。当我第一次在我的 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.

最佳答案

证据很清楚,删除失败的原因是您的应用程序仍然在某个地方打开了文件。

要解决此问题,您需要弄清楚在哪里打开文件,并确保在尝试删除文件之前关闭它...。 (我怀疑问题与您的 Encrypt_Decrypt 类以及您使用它的方式有关。但这只是一个猜测。)

关于java file.delete() 不会工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19871714/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com