标签:list() ret port lte add pre ati void 图片
package javaTest01;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
public class GetFiles {
ArrayList<File> fileList=new ArrayList<File>();
/**
* 获取目录下所有文件
* @param file
* @return
*/
public List<File> getFiles(File file){
File[] fileArr=file.listFiles();
for (File ele : fileArr) {
if (ele.isDirectory()) {
//getFiles(ele); //相对file的相对路径
getFiles(new File(ele.getAbsolutePath())); //绝对路径
} else {
//fileList.add(ele);
fileList.add(new File(ele.getAbsolutePath()));
}
}
//stream对集合进行过滤
List<File> fileListFilter=fileList.stream() //Collection对象转换成Stream
.filter(x -> (x.toString().endsWith(".txt") && x.toString().startsWith("E") )|| x.toString().endsWith(".json")) //过滤后只保留 ①后缀名为.txt且开头为E ②后缀名为.json
.collect(Collectors.toList());
return fileListFilter;
}
ArrayList<Object> dirList=new ArrayList<Object>();
public List<Object> getDirs(File file){
File[] fileArr=file.listFiles();
for(File ele:fileArr){
if(ele.isDirectory()){
//dirList.add(ele); //相对file的相对路径
dirList.add(ele.getAbsolutePath()); //绝对路径
getDirs(ele);
}
}
return dirList;
}
public static void main(String[] args){
File dir=new File("config");
List<File> result=new GetFiles().getFiles(dir);
System.out.println("Number of all files: "+result.size());
for(Object ele : result){
System.out.println(ele);
}
List<Object> result2=new GetFiles().getDirs(dir);
System.out.println("Number of all dirs: "+result2.size());
for(Object ele : result2){
System.out.println(ele);
}
}
}
标签:list() ret port lte add pre ati void 图片
原文地址:https://www.cnblogs.com/ShyPeanut/p/12690195.html