gpt4 book ai didi

java - 无法使用 Java 删除文件夹

转载 作者:行者123 更新时间:2023-12-02 07:36:44 29 4
gpt4 key购买 nike

我试图删除一个只有文件但没有子文件夹的文件夹,但没有成功。

代码:

File rowFolder = new File(folderPath);
String[] files = rowFolder.list();
for (String file : files){
File deleteFile = new File(file);
System.out.println("deleting file -"+deleteFile.getName());
deleteFile.delete();
}
System.out.println("deleting folder -"+rowFolder.getName());
rowFolder.delete();

输出:

deleting file -testing.pdf
deleting file -app_json.json
deleting file -photo.jpg
deleting folder -bundle_folder

该代码不会删除任何文件夹或任何文件。这是为什么?

最佳答案

由于多种原因,您可能会遇到删除失败的情况;该文件可能被文件系统锁定,您可能缺乏权限,或者可能被另一个进程打开等。

如果您使用的是 Java 7 或更高版本,则可以使用 javax.nio.* API;它比 legacy 更可靠、更一致。 java.io.File类:

Path fp = file.toPath();
Files.delete(fp);

如果你想捕获可能的异常:

try {
Files.delete(path);
} catch (NoSuchFileException x) {
System.err.format("%s: no such" + " file or directory%n", path);
} catch (DirectoryNotEmptyException x) {
System.err.format("%s not empty%n", path);
} catch (IOException x) {
// File permission problems are caught here.
System.err.println(x);
}

检查docs有关 Java 7 中 IO 的更多信息

关于java - 无法使用 Java 删除文件夹,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22085706/

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