Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 文件夹目录中的子文件夹数_Java_Directory_Subdirectory - Fatal编程技术网

Java 文件夹目录中的子文件夹数

Java 文件夹目录中的子文件夹数,java,directory,subdirectory,Java,Directory,Subdirectory,我有一个由数据文件(.txt等)和子文件夹组成的文件夹 在Java中,如何获取任何指定目录路径中的子文件夹数 (因此不包括数据文件;仅计算子文件夹) 我读过有关计算.txt文件数的内容,但似乎找不到关于只计算子文件夹的内容 我不知道从哪里开始,只能给你一个想法: String directory = "C:\Users\ . \Desktop\ . \workspace\src\testfolder"; int numberOfSubfolders; //what is numberOfSub

我有一个由数据文件(
.txt
等)和子文件夹组成的文件夹

在Java中,如何获取任何指定目录路径中的子文件夹数

(因此不包括数据文件;仅计算子文件夹)

我读过有关计算
.txt
文件数的内容,但似乎找不到关于只计算子文件夹的内容

我不知道从哪里开始,只能给你一个想法:

String directory = "C:\Users\ . \Desktop\ . \workspace\src\testfolder";
int numberOfSubfolders;

//what is numberOfSubfolders in testfolder?

谢谢你的帮助

使用
File
类,可以列出其中的文件(如果是文件夹/目录),并且可以按所需的属性进行筛选(
isDirectory()


然后计算结果。

您可以使用
FileFilter
仅列出目录:

File file = new File("/tmp");
File[] files = file.listFiles(new FileFilter() {
    @Override
    public boolean accept(File f) {
        return f.isDirectory();
    }
});
System.out.println("Folders count: " + files.length);
Java
File
类是的一个示例,因此您必须实际询问该实例它是一个文件:
isFile()
还是一个目录
isDirectory()

如果您想计算目录,并且您使用的是Java8。函数,可以以更简洁的方式执行相同的操作(实际上是一行):

试试这个:

File dir = new File("yourDirPath");
int numberOfSubfolders;
File listDir[] = dir.listFiles();
for (int i = 0; i < listDir.length; i++) {
    if (listDir[i].isDirectory()) {
            numberOfSubfolders++;
        }
}
System.out.println("No of dir " + numberOfSubfolders);
File dir=新文件(“yourDirPath”);
int numberOfSubfolders;
文件listDir[]=dir.listFiles();
for(int i=0;i
太棒了!正是我需要的。谢谢回答得好。但是有没有办法获得实际的最大深度?
File dir = new File("yourDirPath");
int numberOfSubfolders;
File listDir[] = dir.listFiles();
for (int i = 0; i < listDir.length; i++) {
    if (listDir[i].isDirectory()) {
            numberOfSubfolders++;
        }
}
System.out.println("No of dir " + numberOfSubfolders);