ITPub博客

首页 > 应用开发 > IT综合 > java 如何找出两个文本文件中有相同字段的行

java 如何找出两个文本文件中有相同字段的行

IT综合 作者:rqgxy 时间:2020-06-24 16:56:33 0 删除 编辑

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

Old.txt

New.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

期望运算结果如下:

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

...

while ((String lineText = comparedReader.readLine()) != null) {

  String comparedLine = lineText.trim();

  if (searchText.equals(comparedLine)) {

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

    break;

  }

  lineNum++;

}

rbw.write(lineStr);

comparedReader.reset();

...

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


A

1

=Old=file("Old.txt").import@t(),New=file("New.txt").import@t()

2

=Old.(Name)^ New.(Name)

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

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

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


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31555597/viewspace-2700547/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-09-20

  • 博文量
    405
  • 访问量
    203420