java输入流读取几行文本_真的简单,文本文件逐行处理–用java8 Stream流的方式...

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

1. Java 8逐行读取文件

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

Path filePath = Paths.get("c:/temp", "data.txt");

//try-with-resources语法,不用手动的编码关闭流

try (Stream 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 lines = Files.lines(filePath)){

List 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")){

System.out.println(line);

}

}

br.close();

fr.close();

}

欢迎关注我的博客,里面有很多精品合集

本文转载注明出处(必须带连接,不能只转文字):字母哥博客。

觉得对您有帮助的话,帮我点赞、分享!您的支持是我不竭的创作动力! 。另外,笔者最近一段时间输出了如下的精品内容,期待您的关注。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值