Java 实例 - 遍历指定目录下的所有目录
以下实例演示了如何使用 File 类的 list 方法来遍历指定目录下的所有目录:
Main.java 文件
import java.io.*;
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("目录不存在或它不是一个目录");
}
else {
for (int i=0; i< files.length; i++) {
File filename = files[i];
System.out.println(filename.toString());
}
}
}
}
以上代码运行输出结果为:
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 实例
小伟
784***655@qq.com
public class Main { public static void main(String[] args) throws Exception { File file = new File("//Users//xiaowei//Desktop"); getAllDirectory(file); } public static void getAllDirectory(File file) { //创建过滤器 File[] f = file.listFiles(new GetAllDirectory()); for (File f1 : f) { System.out.println(f1); //判断目录是否为空 if (f1.length() != 0) getAllDirectory(f1); } } } class GetAllDirectory implements FileFilter { public boolean accept(File pathname) { // 去除所有非文件夹 if (pathname.isDirectory()) { return true; } return false; } }小伟
784***655@qq.com
头条号[IT荠荠菜]
qux***ong@qq.com
使用java8 lambda表达式编写代码:
import java.io.File; import java.util.Optional; import java.util.stream.Stream; public class PrintDirDemo { public static void main(String[] args) { File dir = new File("./"); File[] files = dir.listFiles(file -> file.isDirectory()); Stream.of(Optional.ofNullable(files).orElse(new File[]{})).map(File::getName).forEach(System.out::println); } }头条号[IT荠荠菜]
qux***ong@qq.com