相关文章推荐
豪情万千的杨桃  ·  欢迎访问中国统计学会中国统计科学研究网·  7 月前    · 
谦虚好学的皮带  ·  民国四大高僧之一,相传为大势至菩萨的化身,受人尊敬·  9 月前    · 
冷冷的电影票  ·  酷喵VIP日前更名为优酷SVIP,并新增四项 ...·  11 月前    · 
伤情的野马  ·  文化遗产 ...·  1 年前    · 
想表白的楼房  ·  自动化运维- ...·  1 年前    · 
Code  ›  使用java8API遍历过滤文件目录及子目录及隐藏文件开发者社区
文件目录 遍历 filereader 隐藏文件
https://cloud.tencent.com/developer/article/1703327
彷徨的充电器
1 年前
作者头像
字母哥博客
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")){
 
推荐文章
豪情万千的杨桃  ·  欢迎访问中国统计学会中国统计科学研究网
7 月前
谦虚好学的皮带  ·  民国四大高僧之一,相传为大势至菩萨的化身,受人尊敬
9 月前
冷冷的电影票  ·  酷喵VIP日前更名为优酷SVIP,并新增四项权益_腾讯新闻
11 月前
伤情的野马  ·  文化遗产 焕发时代新韵(新时代画卷)--文旅・体育--人民网
1 年前
想表白的楼房  ·  自动化运维- ETL调度-批量作业免费工具- TASKCTL 8.0 作业设计工具箱功能介绍 - 墨天轮
1 年前
今天看啥   ·   Py中国   ·   codingpro   ·   小百科   ·   link之家   ·   卧龙AI搜索
删除内容请联系邮箱 2879853325@qq.com
Code - 代码工具平台
© 2024 ~ 沪ICP备11025650号