package com.sf._07_file;

import java.io.File;

public class Test2 {
    private static Integer count =0;
    public static void main(String[] args) {
        File file = new File("D:\\abc");
        queryFile(file);
        System.out.println("一共有"+ count+"个txt文件");
    }

    /**
     * 第一次调用 file("D:\\abc")
     * 第二次调用 file(D: \abc\a)
     * @param file
     */
    public static void queryFile(File file){
        // 1 调用file 的listFile 方法列举file 当中所有内容
        File[] files = file.listFiles();
        for (File f : files) {
            // 判断当前f 是一个文件还是目录
            // 如果是一个文件直接打印文件名字
            if(f.isFile()){
                String ext = getFileExt(f.getName());
                if("txt".equals(ext)){
                    //如果后缀是txt 类型说明他就是文件
                    count++;
                }
                System.out.println("文件名字为:"+ f.getName());
            }
            // 如果是目录需要去再次去列举目录的内容
            if(f.isDirectory()){
//                System.out.println(f.getAbsolutePath());
                // D: \abc\a
                File ff = new File(f.getAbsolutePath());
                queryFile(ff);
            }
        }
    }
    public static String getFileExt(String fileName){
        // a.txt   a.jpg  a.zip
        int index = fileName.lastIndexOf(".");
        return fileName.substring(index+1);

    }
}
