JAVA遞歸的實現給定目錄下所有文件的獲取

JAVA對於給定文件夾下所有目錄和文件獲取實現:
Python對於給定文件夾下所有目錄和文件獲取實現:
思路:
1、獲取當前給點地址下的目錄和文件
2、如果爲文件則打印出來、如果爲文件夾則繼續像下獲取
3、遞歸條件是:文件夾

以下爲Java代碼的實現

package mao;
import java.io.File;
import java.util.ArrayList;
import java.util.List;

public class digui {

    public static void main(String[] args) {

        File s_file = new File("/Users/chaozheng/Desktop/zc"); // 其實文件目錄地址
        List<File> file_list = new ArrayList<>();
        get_all_file(s_file,file_list);
        System.out.println(file_list);
    }


    public static void get_all_file(File src_file,List file_list){
        File[] src = src_file.listFiles();
        if (src!=null){
            for (File file:src){
                if (file.isDirectory()){
                    file_list.add(file);          //需要打印出目錄時添加
                    get_all_file(file,file_list);
//                    System.out.println(file);   //需要輸出目錄時添加
                }else{
                    file_list.add(file);
//                    System.out.println(file);   //需要輸出文件時添加

                }
            }

        }

    }

}

以下爲Python的代碼實現

import os


def get_all_file(s_file, file_list):
    src = os.listdir(s_file)
    for i in src:
        if os.path.isdir(s_file + "/" + i):
            get_all_file(s_file + "/" + i, file_list)
            file_list.append(s_file + "/" + i)
        else:
            file_list.append(s_file + "/" + i)


if __name__ == '__main__':
    s_file = "/Users/chaozheng/Desktop/zc"
    file_list = []
    get_all_file(s_file, file_list)
    print(file_list)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章