一、递归算法

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

 

posted on 2022-03-11 17:53  程序员丁先生  阅读(2936)  评论(0)    收藏  举报