我想通过char比较使用char来断言文件。 最好的方法是什么?没有第三方库。哪个文件阅读器最适合这个?
答案 0 :(得分:12)
不确定对第三方图书馆的反对意见是......不需要重新发明轮子。
我发现开源且广泛使用的apache.commons.io方法FileUtils.contentEquals(file1, file2)
非常好 - 这是javadoc。
答案 1 :(得分:2)
如果您正好使用Google Guava库,那么您可以使用:
Files.equal(file1, file2);
来自docs:
Returns true if the files contains the same bytes.
答案 2 :(得分:1)
对于小文件(最多几MB),流式I / O几乎没有什么好处,所以你可以保持简单:
Arrays.equals(Files.readAllBytes(firstFile), Files.readAllBytes(secondFile));
如果要使用不同的编码,还可以将字节解码为字符:
boolean equal = new String(Files.readAllBytes(firstFile), firstEncoding).equals(
new String(Files.readAllBytes(secondFile), secondEncoding));
这只需要Java 7。