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)