我有一个目录,我将查找ZIP文件,然后我将使用TrueZIP 7从这些ZIP文件中提取文件。我的问题是,当我的应用程序运行时,我无法在Windows中运行应用程序时删除/编辑文件。我不明白为什么会这样,因为当我在Windows中访问文件时,我的应用程序没有对文件做任何事情,那么为什么这些文件被锁定到我的Java应用程序?
我有以下代码:
Path dir = FileSystems.getDefault().getPath(directory);
try (DirectoryStream<Path> stream = Files.newDirectoryStream(dir)) {
for (Path file : stream) {
// do something with file
}
} catch (IOException | DirectoryIteratorException x) {
System.err.println(x);
}
// Why those files are still locked to my app even when execution is here ???