码迷,mamicode.com
首页 > 编程语言 > 详细

java 文件File操作

时间:2020-04-13 11:56:55      阅读:72      评论:0      收藏:0      [点我收藏+]

标签: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);
}
}

}

技术图片

 

 

技术图片

 

java 文件File操作

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

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!