【技术实现步骤摘要】
文件比较方法及装置
本专利技术属于数据比较
,特别是涉及一种文件比较方法及装置。
技术介绍
伴随着业务延展,在程序测试过程中,需要对形式多样的文件执行文件比较。其中,文件比较包括文本比较(TextCompare)与二进制比较(BinaryCompare)两种类型,旨在通过文件之间的比较,确定两份文件之间是否存在差异,并在确定存在差异时,能够快速定位差异的地方。但是,现有的文件比较方法存在着效率低下的问题。
技术实现思路
本专利技术实施例解决的问题是如何提高文件比较的效率。为解决上述问题,本专利技术实施例提供了一种文件比较方法,所述方法包括:将比较文件和被比较文件中的相应数据采用自定义的替换内容进行替换;对经过替换后得到的比较文件和被比较文件执行行间比较,得到一一对应不同的数据行;对所述比较文件和被比较文件中一一对应的不同数据行执行行内比较。可选地,当所述比较文件和被比较文件为文本文件或者表数据逗号分隔值文件时,所述将比较文件和被比较文件中的相应数据采用自定义的替换内容进行替换,包括:将所述比较文件和被比较文件中相应数据列的内容采用所述替换内容进行替换。可选地,当 ...
【技术保护点】
一种文件比较方法,其特征在于,包括:将比较文件和被比较文件中的相应数据采用自定义的替换内容进行替换;对经过替换后得到的比较文件和被比较文件执行行间比较,得到一一对应不同的数据行;对所述比较文件和被比较文件中一一对应的不同数据行执行行内比较。
【技术特征摘要】
1.一种文件比较方法,其特征在于,包括:将比较文件和被比较文件中的相应数据采用自定义的替换内容进行替换;对经过替换后得到的比较文件和被比较文件执行行间比较,得到一一对应不同的数据行;对所述比较文件和被比较文件中一一对应的不同数据行执行行内比较。2.根据权利要求1所述的文件比较方法,其特征在于,当所述比较文件和被比较文件为文本文件或者表数据逗号分隔值文件时,所述将比较文件和被比较文件中的相应数据采用自定义的替换内容进行替换,包括:将所述比较文件和被比较文件中相应数据列的内容采用所述替换内容进行替换。3.根据权利要求1所述的文件比较方法,其特征在于,当所述比较文件和被比较文件为二进制文件时,所述将比较文件和被比较文件中的相应数据采用自定义的替换内容进行替换,包括:将所述比较文件和被比较文件中的相应字节的内容采用所述替换内容进行替换。4.根据权利要求1所述的文件比较方法,其特征在于,所述对经过替换后得到的比较文件和被比较文件执行行间比较,包括:获取预配置的默认载入行数的信息;所述默认载入行数包括预设数量的比较行数的信息;基于预配置的默认载入行数的信息,对所述比较文件和被比较文件执行行间比较。5.根据权利要求4所述的文件比较方法,其特征在于,所述基于预配置的默认载入行数的信息,对所述比较文件和被比较文件执行行间比较,包括:分别获取所述比较文件与所述被比较文件的当前比较窗口中的数据行;所述当前比较窗口内的数据行大于预设的第一阈值且小于预设的第二阈值,所述第一阈值小于所述默认载入行数,所述第二阈值大于所述默认载入行数;将所述比较文件与所述被比较文件的当前比较窗口中的数据行进行比较。6.根据权利要求5所述的文件比较方法,其特征在于,所述将所述比较文件与所述被比较文件的当前比较窗口中的数据行进行比较,包括:对所述比较文件的当前比较窗口中数据行进行遍历,获取所述比较文件的当前比较窗口中当前位序的数据行,并与所述被比较文件的当前比较窗口内的数据行逐一进行比较;当从所述被比较文件当前比较窗口内未查找到与所述比较文件当前比较窗口内的当前位序的数据行相同数据行时,获取所述比较文件的当前比较窗口内的下一位序的数据行,并执行所述与所述被比较文件的当前比较窗口内的数据行逐一进行比较的操作。7.根据权利要求6所述的文件比较方法,其特征在于,当从所述被比较文件当前比较窗口内查找到与所述比较文件当前比较窗口内的当前位序的数据行相同的目标位序的数据行时,所述将所述比较文件与所述被比较文件的当前比较窗口中的数据行进行比较,还包括:将所述比较文件当前比较窗口内的当前位序的数据行与所述被比较文件当前比较窗口内的目标位序的数据行标记为相同;判断所述比较文件当前比较窗口内当前位序之前的数据行与所述被比较文件的当前比较窗口内的目标位序之前的数据行的数量是否相同;当确定所述比较文件当前比较窗口内当前位序之前的数据行与所述被比较文件的当前比较窗口内目标位序之前的数据行的数量相同时,分别将当前比较窗口内所述前位序及之前的数据行,与所述被比较文件的当前比较窗口内所述目标位序及之前的数据行移除;当确定所述比较文件当前比较窗口内当前位序之前的数据行与所述被比较文件的当前比较窗口内的目标位序之前的数据行的数量不同时,为数据行数量较少的所述比较文件当前比较窗口内当前位序与上一位序之间或者所述被比较文件的当前比较窗口内目标位序与上一位序之间添加对应数量的空数据行,以使得所述比较文件当前比较窗口内当前位序之前的数据行与所述被比较文件的当前比较窗口内的目标位序之前的数据行一一对应,并将所述比较文件中当前比较窗口内当前位序及之前的数据行,以及所述被比较文件中目标位序的数据行及之前的数据行移除。8.根据权利要求7所述的文件比较方法,其特征在于,当从所述比较文件或者被比较文件的当前比较窗口移除相应的数据行之后,还包括:判断所述比较文件或被比较文件当前比较窗口中剩余数据行的数量是否小于预设的第一阈值;当确定所述比较文件或被比较文件当前比较窗口中剩余数据行的数量小于所述第一阈值时,获取所述比较文件中下一所述默认载入行数的数据行并添加至所述比较文件中当前比较窗口末尾,作为所述比较文件的当前比较窗口,或者将所述比较文件的中下一默认载入行数的数据行添加至所述被比较文件中当前比较窗口末尾,作为所述被比较文件的当前比较窗口,直至所述比较文件或者被比较文件的所有数据行遍历完成。9.根据权利要求1-8任一项所述的文件比较方法,其特征在于,所述对所述比较文件和被比较文件中一一对应的不同数据行执行行内比较,包括:判断所述比较文件和被比较文件中一一对应的不同数据行是否均为非空数据行;当确定所述比较文件和被比较文件中一一对应的不同数据行均为非空数据行时,对所述比较文件和被比较文件中一一对应的非空数据行执行行内比较。10.根据权利要求9所述的文件比较方法,其特征在于,将所述比较文件和被比较文件中一一对应的非空数据行中一个作为比较行,另一个作为被比较行,所述对所述比较文件和被比较文件中一一对应的非空数据行执行行内比较,包括:分别对所述比较行和被比较行的字符从尾至头进行遍历并比较,直至所述比较行与所述被比较行中相应位序的字符不同;将通过从尾至头遍历得到的所比较文件和所述被比较文件中相应位序的字符之后的字符标记为相同并分别从所述比较行和所述被比较行中移除;将所述比较行与所述被比较行中剩余的字符从头至尾进行比较,得到对应的比较结果。11.根据权利要求10所述的文件比较方法,其特征在于,所述将所述比较行与所述被比较行中剩余的字符从头至尾进行比较,包括:从头至尾遍历所述比较行的剩余字符;将遍历至的所述比较行的剩余字符中的当前位序的字符与所述被比较行中的剩余字符逐一进行比较;判断所述被比较行的剩余字符中是否存在与所述遍历至的比较行的剩余字符中的当前位序的字符相同的目标位序的字符;当确定所述被比较行的剩余字符中不存在与所述遍历至的比较行的剩余字符中的当前位序的字符相同的目标位序的字符时,获取比较行的剩余字符中下一位序字符,并从所述将遍历至的所述比较行的剩余字符中的当前位序的字符与所述被比较行中的剩余字符逐一进行比较开始执行,直至所述比较行的剩余字符遍历完毕。12.根据权利要求11所述的文件比较方法,其特征在于,当确定所述被比较行的剩余字符中存在与所述遍历至的比较行的剩余字符中的当前位序的字符相同的目标位序的字符时,还包括:将所述比较行的剩余字符中当前位序的字符与所述被比较行的剩余字符中目标位序的字符标记为相同;将所述比较行和所述被比较行的剩余字符中当前位序至所述目标位序的字符,分别作为所述比较行的剩余字符和所述被比较行的剩余字符,并从所述从头至尾遍历所述比较行的剩余字符开始执行,以找到其他的相同字符并记录,直至所述比较行和所述被比较行的剩余字符中当前位序至所述目标位序的字符全部遍历完成;获取最后一次记录的相同字符的信息,并将对应的比较行中的字符记为第一相同位序的字符,对应的被比较行中的字符记为第二相同位序的字符;将所述比较行的剩余字符中所述第一相同位序之后的字符作为所述比较行的剩余字符,将所述被比较行的剩余字符中所述第二相同位序之后的字符作为所述被比较行的剩余字符,并从所述从头至尾遍历所述比较行的剩余字符开始执行,以找到所述比较行的剩余字符中所述第一相同位序之后的字符中与所述被比较行的剩余字符中所述第二相同位序之后的字符中相同的字符并记录,直至所述比较行中所述第一相同位序之后的字符或者所述被比较行的剩余字符中当前位序至所述目标位序的字符遍历完成。13.根据权利要求1所述的文件比较方法,其特征在于,还包括:按照预设的报表格式生成对应的比较报告并输出。14.一种文件比较装置,其特征在于,包括:替换单元,适于将比较文件和被比较文件中的相应数据采用自定义的替换内容进行替换;行间...
【专利技术属性】
技术研发人员:黄凯旋,杨宁,顾庆荣,康凯,
申请(专利权)人:江苏天联信息科技发展有限公司,
类型:发明
国别省市:江苏,32
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。