【发布时间】:2016-07-22 13:06:36
【问题描述】:
有没有办法在 Android 中比较两个文件?
例如:我在同一个文件夹下有两个文件,它们是相同的。 它们相同(大小也一样),但它们的名字就像
myFileA.pdf和myFileB.pdf。那么我怎样才能确定它们是 是否相同。
我已经尝试过的:
-
compareTo()方法:尝试过myFileA.compare(myFileB),但它给出了一些奇怪的值,例如 -1、-2 等。我认为这些值取决于文件的 PATH。 -
myFile.length():但是在一些极少数情况下(非常罕见的情况),两个不同的文件可以具有相同的大小,所以我认为这不是正确的方法。
注意:我告诉过文件在 same 文件夹下,例如,它们可以在任何地方,例如
myFileA.pdf可以在NewFolder1和myFileB.pdf可以在NewFolder2中。
【问题讨论】:
-
也许计算两者的哈希值并比较它们?
-
"尝试了 myFileA.compare(myFileB),但它给出了一些奇怪的值,例如 -1、-2 等。"你检查过
compare()的JavaDocs吗? -
stackoverflow.com/questions/27379059/… stackoverflow.com/questions/21764299/… codereview.stackexchange.com/questions/90147/… 和许多其他资源可以使用 Google 搜索
compare two file contents in java找到。 -
当两个文件很大并且从第一个字节开始内容不同时,计算哈希是一个不错的选择,但可能不是最佳选择。
-
@Meet “做到了,但它们给出了不同的值”您确定要比较重复文件而不是“相似”文件吗?