gpt4 book ai didi

java - 通过Junrar解压rar文件然后删除压缩包

转载 作者:行者123 更新时间:2023-12-01 09:50:05 24 4
gpt4 key购买 nike

我正在使用junrar但我在解压后删除存档时遇到问题。这是代码:

ExtractArchive extractArchive = new ExtractArchive();  
extractArchive.extractArchive(new File(archiveFilePath), new File(destDirectory));

在此代码之后,我无法删除与 archiveFilePath 关联的文件。我尝试了 new File(archiveFilePath).delete();apache commons io

FileDeleteStrategy.FORCE.delete(new File(archiveFilePath));

但我收到 false 或一个异常,因为文件是从另一进程使用的。有人对这个库遇到过同样的问题吗?我可以通过其他方式删除该文件吗?谢谢

这里有一个问题的确认: https://github.com/edmund-wagner/junrar/issues/28

最佳答案

ExtractArchive.extractArchive(...) 中的代码存在缺陷,因为它在内部创建了一个 Archive 实例,但它从不调用 close() > 释放其资源和文件句柄。

在 Windows 上,这会导致文件被锁定,除非 JVM 结束或垃圾收集器已收集该存档的所有对象实例并因此释放文件句柄,否则无法删除该文件。

在 Windows 上没有其他方法可以删除该文件!

关于java - 通过Junrar解压rar文件然后删除压缩包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37652814/

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