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);
                    }
                }
            }
        }
    }
}

 

posted on 2024-12-18 22:18  fafrkvit  阅读(23)  评论(0)    收藏  举报