java 文件File操作

2021-02-18 15:19

阅读:633

标签: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 fileList=new ArrayList();

/**
* 获取目录下所有文件
* @param file
* @return
*/
public List 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 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 dirList=new ArrayList();
public List 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 result=new GetFiles().getFiles(dir);
System.out.println("Number of all files: "+result.size());
for(Object ele : result){
System.out.println(ele);
}

List result2=new GetFiles().getDirs(dir);
System.out.println("Number of all dirs: "+result2.size());
for(Object ele : result2){
System.out.println(ele);
}
}

}

技术图片

 

 

技术图片

 

java 文件File操作

标签:list()   ret   port   lte   add   pre   ati   void   图片   

原文地址:https://www.cnblogs.com/ShyPeanut/p/12690195.html


评论


亲,登录后才可以留言!