第二个参数传一个是不是需要目录boolean值,如果需要就给文件夹,如果false就文件,相当于过滤
/**
* 根据路径获取该目录下的所有的 "文件夹" 或者 "文件"
*
* @return
*/
public static List<File> getFolderByPath(String path, boolean isNeedFolder) {
if (Utils.isNulls(path)) return null;
File f = new File(path);
if (!f.exists()) {
return null;
}
List<File> fileList = new ArrayList<>();
try {
File flist[] = f.listFiles();
for (File file : flist) {
if (isNeedFolder) {
//如果需要目录,并且是一个目录
if (file.isDirectory()) {
fileList.add(file);
}
} else {
//如果需要的是非目录,并且file非目录
if (!file.isDirectory()) {
fileList.add(file);
}
}
}
} catch (Exception e) {
e.printStackTrace();
return null;
}
return fileList;
}
修改为:
if (isNeedFolder && file.isDirectory()) {
//如果需要目录,并且是一个目录
fileList.add(file);
}
if (!isNeedFolder && !file.isDirectory()) {
//如果需要的是非目录,并且file非目录
fileList.add(file);
}
修改为:
//如果需要目录,并且是一个目录
//如果需要的是非目录,并且file非目录
if (isNeedFolder && file.isDirectory() || !isNeedFolder && !file.isDirectory()) {
fileList.add(file);
}
修改为:
//如果需要目录,并且是一个目录
//如果需要的是非目录,并且file非目录
if (!(isNeedFolder ^ file.isDirectory())) {
fileList.add(file);
}
修改为:
//如果需要目录,并且是一个目录
//如果需要的是非目录,并且file非目录
if (isNeedFolder == file.isDirectory()) {
fileList.add(file);
}
哇,就问你气不气