如何遍历包含子文件夹和文件的文件夹并将它们放入文件列表和目录列表中?我试着只放文件。我出去了,也许有更好的方法?public List<File> getFileList(String directoryPath, ArrayList<File> files) { File directory = new File(directoryPath); File[] filesList = directory.listFiles(); for (File file : filesList) { if (file.isFile()) { if (!(file.isDirectory())) { if (file.getName().substring(file.getName().indexOf(".")).equals(".xml")) { files.add(file); } } } else if (file.isDirectory()) { this.getFileList(file.getAbsolutePath(), files); } } return files;}我想要总共有两个包含目录和文件的列表。
1 回答
狐的传说
TA贡献1804条经验 获得超3个赞
AFile
不能同时拥有两者File#isDirectory
并且File#isFile
同时为真。所以这
if (file.isFile()) { if (!(file.isDirectory())) {
没有必要。第一个if
足以作为File
普通文件而不是目录。
您尝试仅收集以.xml
. 请注意,测试以第一个点开头的文件名部分.
并不是执行此操作的稳定方法。考虑一个名为foo.bar.baz.xml
. 您的方法将检查是否.bar.baz.xml
等于.xml
。检查此答案以了解如何以稳定的方式执行此操作。
添加回答
举报
0/150
提交
取消