繁体   English   中英

比较两个具有相同结构的文件

[英]compare two file that have same structure

我有两个具有相同结构的文件。例如

FileA
A Manchester
B 123 456 789
C 10/10/2020

A Sevilla
B 666 777 88 00000
C 1/1/2018

FileB
A Sevilla
B 666 777 88 
C 1/1/2018

A Manchester
B 123 456 789
C 10/10/2020

我的目标是提取不同的行。我读取 fileA 然后将值存储为这样的 Treemap

`key = A Manchester
 value = 300,3,145785471(values are total  line length, total  line number, total  hashcode)
 key = A Sevilla
 value = 400,3,54565656(values are total line length, total line number, total hashcode)`

之后我读取 fileB 并根据键值找到该键的 map 值,然后逐行减少行长、行号和总哈希码。如果这些值为零,我创建另一个文件并写入没有差异。如果这些值与 0 不同,然后我编写新文件哈希码与塞维利亚不同。 但是我也想写不同的行。从哈希码信息中,我也可以找到不同的行吗?你知道吗?

创建一个可以消化您提到的结构的解析器。 它应该发出一个抽象语法树。 然后实现一个 function 来比较两个这样的树。

您的解决方案实际上非常接近我的建议。 对这种方法有帮助的是Antlr

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM