/**
* 获取一个给定目录下的所有子目录和子文件
* @param dirPath
* @return
*/
public static List<String> getAllSubFiles(String dirPath){
//1、判断目标目录是否为空
if(dirPath ==null || dirPath.trim().length()==0){
return null;
}
List<String> allSubFileList = new ArrayList<String>();
File file = new File(dirPath);
//2.判断目标目录是否存在
if(!file.exists()){
return null;
}
//如果是目录则递归下去,如果是文件则直接加入集合
if(file.isDirectory()){
File[] fileArray = file.listFiles();
//遍历目标目录下的所有子目录和文件
for(File subFile:fileArray){
if(subFile.isDirectory()){//如果是子目录,则继续遍历
allSubFileList.addAll(getAllSubFiles(subFile.toString()));
allSubFileList.add(subFile.toString()); //将子目录也添加进集合
}else{//如果是文件,则直接添加到集合
allSubFileList.add(subFile.toString());
}
}
}else{
allSubFileList.add(file.toString());
}
return allSubFileList;
}