美文网首页
File类——递归查找文件夹内所有文件

File类——递归查找文件夹内所有文件

作者: 扒块腹肌 | 来源:发表于2017-01-23 00:38 被阅读154次

    如何查找某个目录下文件及所有子文件夹下的文件

    思路:将if判断条件分布进行,先判断文件存在,把文件夹也放进来循环
    在循环中判断是否是文件夹,是则递归调用自身,把当前文件夹内的文件打印出来

    import java.io.File;
    
    /**
     * @author Administrator
     *
     */
    public class Java_3
    {
        public static void main(String[] args)
        {
            getFile("F:\\", "  ");
        }
        
        /**
         * 封装实现文件查找功能的类
         * @param path 传入要遍历的文件目录 
         * @param tab 传入空格,区分文件夹及其子文件夹
         */
        public static void getFile(String path, String tab)
        {
            File file = new File(path);
        
            if (file.exists())
            {   //文件存在 用File类数组接收目录下所有的文件的抽象路径
                File[] listFile = file.listFiles();
                
                //遍历目录下所有文件判断是否为文件夹
                for (File file2 : listFile)
                {
                    System.out.println(tab + file2.getName());
                    // 如果是目录,把当前目录和taB作为参数传入,调用自身,
                    if (file2.isDirectory())
                    {//传入子文件夹路径并换行
                        getFile(file2.getPath(), tab + "\t");
                    }
                }
    
            }
        }
    }
    

    控制台输出:

    控制台输出.png

    相关文章

      网友评论

          本文标题:File类——递归查找文件夹内所有文件

          本文链接:https://www.haomeiwen.com/subject/qozobttx.html