Java遍历目录下的所有文件


一、递归算法

        File file = new File(filePath);
        if(file.isDirectory()){
            File[] files = file.listFiles();
            for (File file1 : files) {
                if(file1.isDirectory()){
                    getChileFile(file1.getAbsolutePath());
                }else{
                    System.out.println(file1.getAbsolutePath());
                }
            }
        }else{
            System.out.println(file.getAbsolutePath());
        }

二、栈

      int total = 0;
        File file = new File(filePath);
        List <File> files = new ArrayList<>();
        if(file.isDirectory()){
            files.add(file);
        }else{
            total++;
            System.out.println(file.getAbsolutePath());
        }
        while(!files.isEmpty()){
            File[] fileArray = files.get(0).listFiles();
            for (File file1 : fileArray) {
                if(file1.isDirectory()){
                    files.add(file1);
                }else{
                    total++;
                    System.out.println(file1.getAbsolutePath());
                }
            }
            files.remove(0);
        }
        System.out.println(total);    

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM