相关文章推荐
机灵的乌冬面  ·  not exists in sqlite-掘金·  2 年前    · 
光明磊落的围巾  ·  关于epoll ...·  2 年前    · 
千杯不醉的路灯  ·  一个显示器接两个主机如何切换-百度经验·  2 年前    · 
睡不着的楼房  ·  《Verilog》·第2章·硬件描述语言基础 ...·  2 年前    · 
Code  ›  使用java8API遍历过滤文件目录及子目录及隐藏文件开发者社区
文件目录 遍历 filereader 隐藏文件
https://cloud.tencent.com/developer/article/1703327
彷徨的充电器
2 年前
作者头像
字母哥博客
0 篇文章

使用java8API遍历过滤文件目录及子目录及隐藏文件

前往专栏
腾讯云
开发者社区
文档 意见反馈 控制台
首页
学习
活动
专区
工具
TVP
文章/答案/技术大牛
发布
首页
学习
活动
专区
工具
TVP
返回腾讯云官网
社区首页 > 专栏 > 写字母的代码哥 > 使用java8API遍历过滤文件目录及子目录及隐藏文件

使用java8API遍历过滤文件目录及子目录及隐藏文件

作者头像
字母哥博客
发布 于 2020-09-23 14:57:03
817 0
发布 于 2020-09-23 14:57:03
举报
文本文件逐行处理--用java8 Stream流的方式

本文中为大家介绍使用 java 8 Stream API逐行读取文件,以及根据某些条件过滤文件内容

1. Java 8逐行读取文件

在此示例中,我将按行读取文件内容并在控制台打印输出。

Path filePath = Paths.get("c:/temp", "data.txt");
//try-with-resources语法,不用手动的编码关闭流
try (Stream<String> lines = Files.lines( filePath )) 
    lines.forEach(System.out::println);
catch (IOException e) 
    e.printStackTrace();//只是测试用例,生产环境下不要这样做异常处理
}

上面的程序输出将在控制台中逐行打印文件的内容。

Never
store
password
except
in mind.

2.Java 8读取文件–过滤行

在此示例中,我们将文件内容读取为Stream。然后,我们将过滤其中包含单词"password"的所有行。

Path filePath = Paths.get("c:/temp", "data.txt");
try (Stream<String> lines = Files.lines(filePath)){
     List<String> filteredLines = lines
                    .filter(s -> s.contains("password"))
                    .collect(Collectors.toList());
     filteredLines.forEach(System.out::println);
} catch (IOException e) {
    e.printStackTrace();//只是测试用例,生产环境下不要这样做异常处理
}

程序输出。

password

我们将读取给定文件的内容,并检查是否有任何一行包含"password"然后将其打印出来。

3.Java 7 –使用FileReader读取文件

Java 7之前的版本,我们可以使用FileReader方式进行逐行读取文件。

private static void readLinesUsingFileReader() throws IOException 
    File file = new File("c:/temp/data.txt");
    FileReader fr = new FileReader(file);
    BufferedReader br = new BufferedReader(fr);
    String line;
    while((line = br.readLine()) != null)
        if(line.contains("password")){
 
推荐文章
机灵的乌冬面  ·  not exists in sqlite-掘金
2 年前
光明磊落的围巾  ·  关于epoll 水平触发在udp套接字上不生效问题的原因_51CTO博客_udp epoll 事件
2 年前
千杯不醉的路灯  ·  一个显示器接两个主机如何切换-百度经验
2 年前
睡不着的楼房  ·  《Verilog》·第2章·硬件描述语言基础 - 知乎
2 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号