可以比较两个任意格式的文件,但文件不能太大。如果文件太大,可以分割文件比较,因为会在“ byte[] data1 = new byte[len1];”报错,所以要在“todo”里面增添新的方法。
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
public class FileCompare
{
public FileCompare()
{
boolean isEqa = verifyFile("f://file1.flv", "f://file2.flv");
System.out.println(isEqa);
}
private boolean verifyFile(String fileName1, String fileName2)
{
FileInputStream fis1 = null;
FileInputStream fis2 = null;
try
{
fis1 = new FileInputStream(fileName1);
fis2 = new FileInputStream(fileName2);
int len1 = fis1.available();
int len2 = fis2.available();
if (len1 == len2)
{
byte[] data1 = new byte[len1];
byte[] data2 = new byte[len2];
fis1.read(data1);
fis2.read(data2);
for (int i = 0; i < len1; i++)
{
if (data1[i] != data2[i])
{
return false;
}
}
return true;
} else
{
return false;
}
} catch (FileNotFoundException e)
{
e.printStackTrace();
} catch (IOException e)
{
e.printStackTrace();
} catch (OutOfMemoryError e)
{ //todo:分割方法
e.printStackTrace();
} finally
{
closeFileStream(fis1, fis2);
}
return false;
}
private void closeFileStream(FileInputStream fis1, FileInputStream fis2)
{
if (fis1 != null)
{
try
{
fis1.close();
} catch (IOException e)
{
e.printStackTrace();
}
}
if (fis2 != null)
{
try
{
fis2.close();
} catch (IOException e)
{
e.printStackTrace();
}
}
}
public static void main(String[] args)
{
new FileCompare();
}
}
分享到:
相关推荐
3. **比较文件内容**:现在我们有了两个文件的字节数组,可以使用`SequenceEqual()`方法来比较它们是否相等。 ```csharp bool filesAreSame = Arrays.SequenceEqual(bytes1, bytes2); ``` 4. **处理结果**:根据`...
以上代码示例展示了在Java中判断两个文件是否相同的方法,包括基于物理属性和内容的比较。在实际开发中,根据具体情况选择合适的方式,如文件大小、性能需求以及是否允许消耗额外的存储空间(用于计算哈希值)。 ...
在C#编程语言中,实现这一功能可以通过多种方法来完成,但本文将深入探讨一种直接且有效的方法:通过逐字节比较两个文件的所有内容来判断它们是否完全相等。 ### C#中判断两个文件是否完全相等 #### 方法原理 两...
在C#编程中,动态比较两个文件是否相同是一项常见的任务,特别是在软件开发、文件系统管理或者数据一致性检查的场景下。本教程将详细介绍如何在Visual Studio 2008环境下,利用C#语言来实现这一功能。我们将探讨以下...
填入两个文件路径,就可以判断两个文件是否想同,用于开发时候比较文件
该设计的主要目标是实现一个能够比较两个文件是否雷同的程序。具体来说,它需要创建两个文本文件,并输入一些单词,之后判断这两个文件的内容相似程度。如果相同单词的数量占所有单词总数的80%,则认为这两个文件是...
在这个场景下,我们可以利用`fileinput`模块读取文件内容,再用`difflib`模块来比较两个文件的差异。 `fileinput`模块允许我们方便地逐行迭代多个文件,而`difflib`模块则提供了`Differ()`类,它能够生成人类可读的...
描述中提到的"两个文件的MD5相同",这意味着这两个文件经过MD5哈希计算后得到了相同的哈希值。这在很多情况下意味着两个文件的内容是完全一样的,因为MD5的特性是只要输入的明文不同,输出的哈希值就应当不同。然而...
描述中提到,这两个文件的SHA1值相同,这意味着它们经过SHA1算法处理后得到了相同的哈希值,这在理论上应当是极其罕见的,除非发生了SHA1碰撞。SHA1碰撞是指两个不同的输入数据产生了相同的输出哈希值。虽然概率较低...
如果两个文件的哈希值相同,那么内容就一致。 4. **递归对比**:当文件夹内还包含其他文件夹时,就需要使用递归方法。递归是一种算法,它会调用自身处理子问题。在文件夹比较中,递归意味着先比较顶层文件,然后...
compare.cpp:自动搜索出两个文件中相同字符串。
### JAVA两个文件比较知识点 #### 一、概述 在日常的软件开发与维护工作中,经常需要对两个文件进行比较以检查它们之间的差异或一致性。在Java编程语言中,可以通过多种方式实现这一功能,例如利用字符流`...
在VB(Visual Basic)编程环境中,实现两个文件的比较是一项常见的任务,无论文件的格式如何。这涉及到读取文件内容并进行逐字节或逐行的对比,以确定它们是否完全相同。以下是一些关键的知识点和步骤: 1. **打开...
Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine来执行这些编译好的byte code。这种机制的基本思想跟Java,.NET是一致的。
两个MD5相同的文件
通过比较文件,我们可以快速定位到两个文件的修改之处,这在协同开发中尤为关键,因为开发者需要知道其他人对代码做了哪些改动。 “diff_match_patch_20090905”是一个开源库,主要用于计算并展示文本文件之间的...
在进行两个文件的表比较时,我们通常关心的是表的键(key)和对应的值(value)是否相同。 假设我们有两个文件,分别命名为`file1.lua`和`file2.lua`,这两个文件都包含一个或多个表。我们首先需要读取这两个文件,...
5. **文件哈希值**:在比较文件内容时,常常利用文件的哈希值,如MD5或SHA系列,来快速判断两个文件是否相同。如果两个文件的哈希值一致,通常意味着它们的内容完全一样。若不同,则表示内容有差异。 6. **版本控制...
对于两个文件的比较,Qt5.9的文件比较工具采用了经典的差异算法,如统一差异(Unified Diff)或上下文差异(Context Diff)。这些算法可以生成一个中间格式,展示两个文件的差异部分,以便用户理解变化。此外,Qt5.9...