java读取文件找出重复行_java 如何找出两个文本文件中有相同字段的行

Java有什么方便的类库做文件对比吗?比如:文件Old.txt和New.txt,第一行是列名,需要取出文件中Name字段相同的内容。部分数据如下:

Old.txtNew.txt

Name   Dept

Rachel Sales

Ashley R&D

Matthew   Sales

Alexis Sales

Megan  Marketing

Name   Dept

Emily  HR

Ashley R&D

Matthew   Sales

Alexis Sales

Megan  Marketing

期望运算结果如下:

92a3a5599b72

Java不是集合性语言,需大量使用循环和判断,写起来会比较长,代码大概要写成这样:

...

while ((StringlineText=comparedReader.readLine()) != null) {

StringcomparedLine=lineText.trim();

if (searchText.equals(comparedLine)) {

lineStr= "###=Equal:" +lineNum+ "=###\n";

break;

}

lineNum++;

}

rbw.write(lineStr);

comparedReader.reset();

...

文本对比方面,用集算器SPL会简单很多,精心设计了一套集合运算领域的函数库,实现同样过程代码更简洁,比如上面问题,仅2行:

92a3a5599b72

其实还有很多情况用Java处理文本不太方便,甚至大文件对比、关联计算、入库等需求,但用集算器SPL却很简单,感兴趣可以参考:SPL结构化文本计算、结构化文本计算示例(一)、结构化文本计算示例(二)

集算器还很容易嵌入到Java应用程序中,Java如何调用SPL脚本有使用和获得它的方法。

关于集算器安装使用、获得免费授权和相关技术资料,可以参见如何使用集算器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值