`

比较两个文件是否相等

F# 
阅读更多

 

可以比较两个任意格式的文件,但文件不能太大。如果文件太大,可以分割文件比较,因为会在“ 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();
    }
}

 

 

分享到:
评论

相关推荐

    C#实现文件比较的功能,比较两个文件内容是否相同

    3. **比较文件内容**:现在我们有了两个文件的字节数组,可以使用`SequenceEqual()`方法来比较它们是否相等。 ```csharp bool filesAreSame = Arrays.SequenceEqual(bytes1, bytes2); ``` 4. **处理结果**:根据`...

    java 判断两个文件是否相同

    以上代码示例展示了在Java中判断两个文件是否相同的方法,包括基于物理属性和内容的比较。在实际开发中,根据具体情况选择合适的方式,如文件大小、性能需求以及是否允许消耗额外的存储空间(用于计算哈希值)。 ...

    C#如何判断两个文件是否完全相等

    在C#编程语言中,实现这一功能可以通过多种方法来完成,但本文将深入探讨一种直接且有效的方法:通过逐字节比较两个文件的所有内容来判断它们是否完全相等。 ### C#中判断两个文件是否完全相等 #### 方法原理 两...

    c# 动态比较两个文件是否相同(VS2008)

    在C#编程中,动态比较两个文件是否相同是一项常见的任务,特别是在软件开发、文件系统管理或者数据一致性检查的场景下。本教程将详细介绍如何在Visual Studio 2008环境下,利用C#语言来实现这一功能。我们将探讨以下...

    易语言比较两个文件是否相同源码

    填入两个文件路径,就可以判断两个文件是否想同,用于开发时候比较文件

    比较两个文件是否雷同

    该设计的主要目标是实现一个能够比较两个文件是否雷同的程序。具体来说,它需要创建两个文本文件,并输入一些单词,之后判断这两个文件的内容相似程度。如果相同单词的数量占所有单词总数的80%,则认为这两个文件是...

    快速比对两个txt文件内容是否一致

    在这个场景下,我们可以利用`fileinput`模块读取文件内容,再用`difflib`模块来比较两个文件的差异。 `fileinput`模块允许我们方便地逐行迭代多个文件,而`difflib`模块则提供了`Differ()`类,它能够生成人类可读的...

    两个文件的MD5相同

    描述中提到的"两个文件的MD5相同",这意味着这两个文件经过MD5哈希计算后得到了相同的哈希值。这在很多情况下意味着两个文件的内容是完全一样的,因为MD5的特性是只要输入的明文不同,输出的哈希值就应当不同。然而...

    两个文件的SHA1相同

    描述中提到,这两个文件的SHA1值相同,这意味着它们经过SHA1算法处理后得到了相同的哈希值,这在理论上应当是极其罕见的,除非发生了SHA1碰撞。SHA1碰撞是指两个不同的输入数据产生了相同的输出哈希值。虽然概率较低...

    比较两个文件夹是否相同

    如果两个文件的哈希值相同,那么内容就一致。 4. **递归对比**:当文件夹内还包含其他文件夹时,就需要使用递归方法。递归是一种算法,它会调用自身处理子问题。在文件夹比较中,递归意味着先比较顶层文件,然后...

    两个文件中相同字符比较

    compare.cpp:自动搜索出两个文件中相同字符串。

    JAVA两个文件比较

    ### JAVA两个文件比较知识点 #### 一、概述 在日常的软件开发与维护工作中,经常需要对两个文件进行比较以检查它们之间的差异或一致性。在Java编程语言中,可以通过多种方式实现这一功能,例如利用字符流`...

    VB 实现两个文件的比较(不限文件格式)

    在VB(Visual Basic)编程环境中,实现两个文件的比较是一项常见的任务,无论文件的格式如何。这涉及到读取文件内容并进行逐字节或逐行的对比,以确定它们是否完全相同。以下是一些关键的知识点和步骤: 1. **打开...

    比较两个目录下的文件是否相同

    Python在执行时,首先会将.py文件中的源代码编译成Python的byte code(字节码),然后再由Python Virtual Machine来执行这些编译好的byte code。这种机制的基本思想跟Java,.NET是一致的。

    两个MD5相同的文件

    两个MD5相同的文件

    文件比较,可以比较两个文件的不同地方

    通过比较文件,我们可以快速定位到两个文件的修改之处,这在协同开发中尤为关键,因为开发者需要知道其他人对代码做了哪些改动。 “diff_match_patch_20090905”是一个开源库,主要用于计算并展示文本文件之间的...

    lua程序实现对两个文件的表的比较

    在进行两个文件的表比较时,我们通常关心的是表的键(key)和对应的值(value)是否相同。 假设我们有两个文件,分别命名为`file1.lua`和`file2.lua`,这两个文件都包含一个或多个表。我们首先需要读取这两个文件,...

    比较两个文件夹文件的不同.rar

    5. **文件哈希值**:在比较文件内容时,常常利用文件的哈希值,如MD5或SHA系列,来快速判断两个文件是否相同。如果两个文件的哈希值一致,通常意味着它们的内容完全一样。若不同,则表示内容有差异。 6. **版本控制...

    Qt5.9 文件比较工具

    对于两个文件的比较,Qt5.9的文件比较工具采用了经典的差异算法,如统一差异(Unified Diff)或上下文差异(Context Diff)。这些算法可以生成一个中间格式,展示两个文件的差异部分,以便用户理解变化。此外,Qt5.9...

Global site tag (gtag.js) - Google Analytics