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应用程序中,
有使用和获得它的方法。
关于集算器安装使用、获得免费授权和相关技术资料,可以参见
。