gpt4 book ai didi

Java 递归文件列表为空格名称文件夹返回 null

转载 作者:行者123 更新时间:2023-12-02 04:39:35 28 4
gpt4 key购买 nike

尝试递归地列出路径中的所有文件和文件夹。

一切正常,直到我得到一个带空格的文件夹名称。在这种情况下,当我尝试获取带有 f.list() 的文件列表时或f.listFiles() ,都返回 null 。当我在 Windows 上测试时,我尝试将所有空格替换为“%20”,但结果相同。

文档说:

Returns null if this abstract pathname does not denote a directory, or if an I/O error occurs.

如何列出带有空格文件夹名称的文件和文件夹?

String path = "c:/Users/Ioman/AppData/Local/Archivos temporales de Internet";
File f = new File(path);
fileNames(f);

private void fileNames(File f) {
System.out.println("Folder name : " + f.getAbsolutePath());
File[] files = f.listFiles();
for (File file : files) {
if (file.isDirectory()) {
fileNames(file);
} else {
System.out.println(file.getAbsolutePath());
}
}
}

最佳答案

您的代码也可以很好地处理带有空格的文件夹名称。但我建议使用 Java 8 中更简单的方法,看看这是否有效。

  Files.find(Paths.get(path),
Integer.MAX_VALUE,
(filePath, fileAttr) -> fileAttr.isRegularFile())
.forEach(System.out::println);

关于Java 递归文件列表为空格名称文件夹返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56526252/

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