【发布时间】:2014-12-30 12:06:21
【问题描述】:
我需要一个类,它会在数组中找到重复项。我有一个排序列表,其中文件将在大小上进行比较,然后我想在(hashCode?)一些标准上比较它们。
public class FileComparison {
public void compare(ArrayList<File> arrayOfFiles) throws Exception {
for(int i = 0; i < arrayOfFiles.size() - 1; i++) {
for (int y = i + 1; y < arrayOfFiles.size() - 1; y++) {
if(arrayOfFiles.get(i).length() == arrayOfFiles.get(y).length()) {
//byte[] b1;
//byte[] b2;
//don't know what to do
}
if(arrayOfFiles.get(i).length() != arrayOfFiles.get(y).length()) {
break;
}
}
}
}
如果两个文件的大小相同 - 它需要通过另一种方式比较它们。如果它们也以这种方式相同 - 文件是重复的。 如果大小不同 - 它们不是重复的。
【问题讨论】:
-
在网上很容易找到一些用几行Java代码实现的哈希函数。是什么阻止你这样做?
-
我已经找到并尝试使用的所有东西都不起作用
-
不清楚你想要实现什么。如果两个文件不同,那怎么办?如果两个文件相同,那又是什么呢?如果两个文件大小相同但哈希码不同?如果文件大小不同但具有相同的hashCode?span>
-
@Dici 你不需要上网。内置的
java.security.MessageDigest会为你做这件事。 -
@ErwinBolwidt 我的意思是互联网上到处都是使用
java.security包来做这些事情的代码示例
标签: java file compare bytearray hashcode