如何显示目录中的所有目录?(How to display all the directories in a directory?)
优质
小牛编辑
128浏览
2023-12-01
问题描述 (Problem Description)
如何显示目录中的所有目录?
解决方案 (Solution)
下面的示例演示如何显示目录中包含的所有目录,这些目录构成了一个列出File类方法的过滤器。
import java.io.*;
public class Main {
public static void main(String[] args) {
File dir = new File("F:");
File[] files = dir.listFiles();
FileFilter fileFilter = new FileFilter() {
public boolean accept(File file) {
return file.isDirectory();
}
};
files = dir.listFiles(fileFilter);
System.out.println(files.length);
if (files.length == 0) {
System.out.println("Either dir does not exist or is not a directory");
} else {
for (int i = 0; i< files.length; i++) {
File filename = files[i];
System.out.println(filename.toString());
}
}
}
}
结果 (Result)
上面的代码示例将产生以下结果。
14
F:\C Drive Data Old HDD
F:\Desktop1
F:\harsh
F:\hharsh final
F:\hhhh
F:\mov
F:\msdownld.tmp
F:\New Folder
F:\ravi
F:\ravi3
F:\RECYCLER
F:\System Volume Information
F:\temp
F:\work
以下是显示Java目录中所有目录的另一个示例
import java.io.File;
import java.io.IOException;
public class FileDisplay {
public static void main(String[] args) {
File currentDir = new File(".");
displayDirectoryContents(currentDir);
}
public static void displayDirectoryContents(File dir) {
try {
File[] files = dir.listFiles();
for (File file : files) {
if (file.isDirectory()) {
System.out.println("directory:" + file.getCanonicalPath());
displayDirectoryContents(file);
} else {
System.out.println(" file:" + file.getCanonicalPath());
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
上面的代码示例将产生以下结果。
file:/web/com/1481172458_94270/FileDisplay.java
file:/web/com/1481172458_94270/FileDisplay.class