gpt4 book ai didi

Java - 比较具有奇怪内容的文件中的字节

转载 作者:行者123 更新时间:2023-12-01 07:14:07 24 4
gpt4 key购买 nike

我有一个数据库转储程序,它以非常特定的格式写出表的平面文件。我现在需要针对我们的旧程序进行测试,并确认生成的文件是相同的。手动执行此操作很痛苦,因此我需要编写一些单元测试。

我需要逐字节比较两个文件内容,并查看第一个差异。问题是它们有各种疯狂的字节,CF/LF/null 等遍布各处。

这是 Scite 的两个文件的屏幕截图,供您引用:

http://imageshack.us/photo/my-images/840/screenshot1xvt.png/

确认每个字节对应的最佳策略是什么?

最佳答案

Apache Commons IO有一个 FileUtils.contentEquals(File file1, File file2) 方法似乎可以满足您的要求。优点:

  • 看起来高效 - 使用缓冲流读取文件内容,如果长度不同,甚至不会打开文件。
  • 方便。

缺点:

  • 不会向您详细说明差异所在。从你的评论看来你想要这个。

我想说你最好的选择是下载源代码,看看他们在做什么,然后增强它以打印出行号。困难的部分是弄清楚你在哪条线上。通过在字节级别读取,您必须显式检查 \r\n\r\n,然后递增您的自己的“行号”计数器。我也不知道您会遇到什么样的国际化问题(如果有的话)。

关于Java - 比较具有奇怪内容的文件中的字节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7355638/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com