文本文件逐行处理–用java8 Stream流的方式
时间:2022-07-25
本文章向大家介绍文本文件逐行处理–用java8 Stream流的方式,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
本文中为大家介绍使用java8 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")){
System.out.println(line);
}
}
br.close();
fr.close();
}
喜欢 (1)or分享 (0)
- java教程
- Java快速入门
- Java 开发环境配置
- Java基本语法
- Java 对象和类
- Java 基本数据类型
- Java 变量类型
- Java 修饰符
- Java 运算符
- Java 循环结构
- Java 分支结构
- Java Number类
- Java Character类
- Java String类
- Java StringBuffer和StringBuilder类
- Java 数组
- Java 日期时间
- Java 正则表达式
- Java 方法
- Java 流(Stream)、文件(File)和IO
- Java 异常处理
- Java 继承
- Java 重写(Override)与重载(Overload)
- Java 多态
- Java 抽象类
- Java 封装
- Java 接口
- Java 包(package)
- Java 数据结构
- Java 集合框架
- Java 泛型
- Java 序列化
- Java 网络编程
- Java 发送邮件
- Java 多线程编程
- Java Applet基础
- Java 文档注释
- Laravel5.7框架安装与使用学习笔记图文详解
- Python基于httpx模块实现发送请求
- Python Tkinter图形工具使用方法及实例解析
- PHP实现的简单留言板功能示例【基于thinkPHP框架】
- Python SMTP配置参数并发送邮件
- Python如何实现自带HTTP文件传输服务
- 在keras中实现查看其训练loss值
- keras实现VGG16方式(预测一张图片)
- 利用python中的matplotlib打印混淆矩阵实例
- pytorch加载自己的图像数据集实例
- python实现批量转换图片为黑白
- Keras构建神经网络踩坑(解决model.predict预测值全为0.0的问题)
- Python实现验证码识别
- 详解PHP神奇又有用的Trait
- laravel实现按时间日期进行分组统计方法示例