首页 > 其他 > 详细

File文件过滤的两种方法

时间:2020-04-25 13:33:11      阅读:45      评论:0      收藏:0      [点我收藏+]
package com.qinuo.io;

import java.io.File;
import java.io.FileFilter;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;

public class FileDemo
{
public static void main(String[] args) {
//创建File实体类

File file=new File("G:\\CeShi");
//获取该目录文件列表
getAllFileLamda(file);
getAllFile(file);

}


public static void getAllFileLamda(File file)
{
File[] files = file.listFiles();
System.out.println("目录是:"+file.getPath());
System.out.println("一共"+files.length+"个文件");
//Arrays.asList把files数组变成列表集合
List<File> filesList = Arrays.asList(files);
System.out.println(filesList);
// 使用lamda遍历文件列表
filesList.stream().forEach(name-> System.out.println(name));
System.out.println("*******************************************");
// 使用lamda过滤带.txt文件
List<File> collect = filesList.stream()
.filter(name -> String.valueOf(name)
.endsWith(".txt"))
.collect(Collectors.toList());

System.out.println("过滤后的文件:"+collect);
collect.forEach(name-> System.out.println("过滤后的文件:"+name));

}

public static void getAllFile(File file){
//new FileFilter()过滤文件
File[] files = file.listFiles(new FileFilter() {
@Override
public boolean accept(File pathname) {
//过滤末尾是.docx的文件
return String.valueOf(pathname).endsWith(".docx");
}
});
System.out.println(Arrays.asList(files));
}
}

File文件过滤的两种方法

原文:https://www.cnblogs.com/LQ970811/p/12772365.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!