Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/349.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 程序应该应用什么标准来查找重复的匹配项_Java_Duplicate Removal - Fatal编程技术网

Java 程序应该应用什么标准来查找重复的匹配项

Java 程序应该应用什么标准来查找重复的匹配项,java,duplicate-removal,Java,Duplicate Removal,我对编程基本上是新手,我想做一个在文件夹中查找重复文件的程序(有很多程序,其中一些是免费的,不在乎,我想做我的程序),问题是什么样的程序需要两个文件才能匹配? 首先我在想,如果它们是mp3,要做一个名称和大小检查,一个pdf相同,一个txt相同+实际内容检查? 按照这个顺序,我在某个地方读到,他们先检查尺寸,然后检查其他东西,我觉得这样做不对。 我需要一些其他或更好的想法 谢谢我想这是你检查扩展名的主意,文件大小也不错。根据您的需要,我可以提示您一些我认为有用的东西: 1。检查扩展名: 当您要排

我对编程基本上是新手,我想做一个在文件夹中查找重复文件的程序(有很多程序,其中一些是免费的,不在乎,我想做我的程序),问题是什么样的程序需要两个文件才能匹配? 首先我在想,如果它们是mp3,要做一个名称和大小检查,一个pdf相同,一个txt相同+实际内容检查? 按照这个顺序,我在某个地方读到,他们先检查尺寸,然后检查其他东西,我觉得这样做不对。 我需要一些其他或更好的想法


谢谢

我想这是你检查扩展名的主意,文件大小也不错。根据您的需要,我可以提示您一些我认为有用的东西:

1。检查扩展名:

当您要排除其中一些时。但是,如果你想仔细检查里面是什么,它将不起作用

简单的例子:

包含0001位的My_file.pdf和包含0001位的My_file.jpg将被排除在外,但它们仍然相同

2。检查尺寸:

如果您要检查扩展名,检查文件大小不是一个好主意,因为有两个文件“.pdf”,其中包含(0001)和第二个(0100),您可以很容易地看到它们不相等,但检查大小将返回true,但当然,如果两个文件大小不相等,您可以删除它们并说它们不相等

3。检查哈希:

对文件进行哈希,如果它们相等,则比较它们将为您提供信息,因为哈希函数将始终为相同的对象返回相同的哈希

查看更多:

4。逐字节检查:

虽然这不是一个很好的主意,但假设您有2x4GB文件,您的哈希函数可以工作很长时间,当然每个字节的工作时间会更长,但您可能会遇到这样的情况:

File1.pdf(4GB)文件格式:011010…0 File2.pdf(4GB)111010…0

如您所见,第一个字节的第一次检查将自动返回这些文件不相等的结果,这样可以节省大量时间

当然,你必须想一想,你需要什么,你想如何比较你的文件,这些只是可以帮助你建立应用程序的狙击手

所有这些方法在Java中都很简单,实现它们不会有任何问题


PS:Sry对于我的英语来说,它不是我的主要语言。

我认为检查扩展名是你的主意,文件大小也不错。根据您的需要,我可以提示您一些我认为有用的东西:

1。检查扩展名:

当您要排除其中一些时。但是,如果你想仔细检查里面是什么,它将不起作用

简单的例子:

包含0001位的My_file.pdf和包含0001位的My_file.jpg将被排除在外,但它们仍然相同

2。检查尺寸:

如果您要检查扩展名,检查文件大小不是一个好主意,因为有两个文件“.pdf”,其中包含(0001)和第二个(0100),您可以很容易地看到它们不相等,但检查大小将返回true,但当然,如果两个文件大小不相等,您可以删除它们并说它们不相等

3。检查哈希:

对文件进行哈希,如果它们相等,则比较它们将为您提供信息,因为哈希函数将始终为相同的对象返回相同的哈希

查看更多:

4。逐字节检查:

虽然这不是一个很好的主意,但假设您有2x4GB文件,您的哈希函数可以工作很长时间,当然每个字节的工作时间会更长,但您可能会遇到这样的情况:

File1.pdf(4GB)文件格式:011010…0 File2.pdf(4GB)111010…0

如您所见,第一个字节的第一次检查将自动返回这些文件不相等的结果,这样可以节省大量时间

当然,你必须想一想,你需要什么,你想如何比较你的文件,这些只是可以帮助你建立应用程序的狙击手

所有这些方法在Java中都很简单,实现它们不会有任何问题


PS:Sry对于我的英语来说,它不是我的主要语言。

我认为检查扩展名是你的主意,文件大小也不错。根据您的需要,我可以提示您一些我认为有用的东西:

1。检查扩展名:

当您要排除其中一些时。但是,如果你想仔细检查里面是什么,它将不起作用

简单的例子:

包含0001位的My_file.pdf和包含0001位的My_file.jpg将被排除在外,但它们仍然相同

2。检查尺寸:

如果您要检查扩展名,检查文件大小不是一个好主意,因为有两个文件“.pdf”,其中包含(0001)和第二个(0100),您可以很容易地看到它们不相等,但检查大小将返回true,但当然,如果两个文件大小不相等,您可以删除它们并说它们不相等

3。检查哈希:

对文件进行哈希,如果它们相等,则比较它们将为您提供信息,因为哈希函数将始终为相同的对象返回相同的哈希

查看更多:

4。逐字节检查:

虽然这不是一个很好的主意,但假设您有2x4GB文件,您的哈希函数可以工作很长时间,当然每个字节的工作时间会更长,但您可能会遇到这样的情况:

File1.pdf(4GB)文件格式:011010…0 File2.pdf(4GB)111010…0

如您所见,第一个字节的第一次检查将自动返回这些文件不相等的结果,这样可以节省大量时间

当然,您必须思考,您需要什么,您希望如何比较您的文件,以及