import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
// 创建 File 对象,指定目录路径
File file = new File("D:\\test520");
// 判断 file 是否是一个文件
if (file.isFile()){
// 如果是文件,则打印文件信息
System.out.println("file: " + file);
}
else {
// 如果是目录,则调用 listFiles() 方法递归遍历目录内容
listFiles(file);
}
// 创建另一个 File 对象,指定目录路径
File file1 = new File("D:\\test1314");
// 使用 list() 方法,结合 FilenameFilter 来列出目录中的所有 .txt 文件
String[] listFileNames = file1.list(new FilenameFilter() {
@Override
public boolean accept(File dir, String name) {
// 如果文件名以 .txt 结尾,返回 true
if(name.endsWith(".txt"))
return true;
else
return false;
}
});
// 打印出所有 .txt 文件名
for (String fileName : listFileNames) {
System.out.println(fileName);
}
}
// 递归列出所有文件的方法
public static void listFiles(File file){
if (file != null){
// 获取指定目录下的所有文件和子目录
File[] list = file.listFiles();
// 如果目录不为空
if (list != null){
// 遍历所有文件或子目录
for (File f : list){
if (f.isFile()){
// 如果是文件,打印文件路径
System.out.println(f);
}
else{
// 如果是子目录,打印子目录路径,并递归调用 listFiles() 方法
System.out.println(f);
listFiles(f);
}
}
}
}
}
}