在Java中,如何列出目录下仅包含子目录的内容?
我想使用java.io.File功能,那么在Java中怎样做最好呢?
给定一个起始目录作为String
String
路径为参数的方法。在该方法中:listFiles
方法获取当前目录中的文件数组对我有效的解决方案不在答案列表中。因此,我在这里发布这个解决方案:
File[]dirs = new File("/mypath/mydir/").listFiles((FileFilter)FileFilterUtils.directoryFileFilter());
在这里,我使用了来自Apache commons-io-2.2.jar的org.apache.commons.io.filefilter.FileFilterUtils
。它的文档可以在这里找到:https://commons.apache.org/proper/commons-io/javadocs/api-2.2/org/apache/commons/io/filefilter/FileFilterUtils.html
您可以使用JAVA 7的文件API
Path myDirectoryPath = Paths.get("path to my directory");
List<Path> subDirectories = Files.find(
myDirectoryPath ,
Integer.MAX_VALUE,
(filePath, fileAttr) -> fileAttr.isDirectory() && !filePath.equals(myDirectoryPath )
).collect(Collectors.toList());