广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >java判断文件是否相同的方法
  • 462
分享到

java判断文件是否相同的方法

java文件 2016-07-17 18:07:31 462人浏览 绘本
摘要

java判断文件是否相同的方法:计算MD5或SHA-1然后对比判断 // 计算文件的 MD5 值 根据MD5值 判断文件是否是同一个文件 public static String getFileMD5(File file) {

java判断文件是否相同的方法:

计算MD5或SHA-1然后对比判断

 // 计算文件的 MD5 值 根据MD5值 判断文件是否是同一个文件
public static String getFileMD5(File file) {
        if (!file.isFile()) {
            return null;
        }
        MessageDigest digest = null;
        FileInputStream in = null;
        byte buffer[] = new byte[8192];
        int len;
        try {
            digest =MessageDigest.getInstance("MD5");
            in = new FileInputStream(file);
            while ((len = in.read(buffer)) != -1) {
                digest.update(buffer, 0, len);
            }
            BigInteger bigInt = new BigInteger(1, digest.digest());
            return bigInt.toString(16);
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        } finally {
            try {
                in.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }

    }
// 计算文件的 SHA-1 值 根据SHA-1值 判断文件是否是同一个文件
    public static String getFileSha1(File file) {
        if (!file.isFile()) {
            return null;
        }
        MessageDigest digest = null;
        FileInputStream in = null;
        byte buffer[] = new byte[8192];
        int len;
        try {
            digest =MessageDigest.getInstance("SHA-1");
            in = new FileInputStream(file);
            while ((len = in.read(buffer)) != -1) {
                digest.update(buffer, 0, len);
            }
            BigInteger bigInt = new BigInteger(1, digest.digest());
            return bigInt.toString(16);
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        } finally {
            try {
                in.close();
            } catch (Exception e) {
                e.printStackTrace();
            }
        }
    }

直接判断内容是否相同

 public class  IOOperation  
{  
    public static void main(String[] args)   
    {  
        FileInputStream File1 = null;  
        FileInputStream File2 = null;  
        BufferedReader in = null;  
        String sFile;  

        if(args.length != 2)  
        {  
            System.out.println("The command line should be: java IOOperation testX.txt testX.txt");  
            System.out.println("X should be one of the array: 1, 2, 3");  
            System.exit(0);  
        }  

        try  
        {  
            File1 = new FileInputStream(args[0]);  
            File2 = new FileInputStream(args[1]);  

            try  
            {  

                if(File1.available() != File2.available())  
                {  
                   //长度不同内容肯定不同  
                    System.out.println(args[0] + " is not equal to " + args[1]);  
                }  
                else  
                {  
                    boolean tag = true;  

                    while( File1.read() != -1 && File2.read() != -1)  
                    {  
                        if(File1.read() != File2.read())  
                        {  
                            tag = false;  
                            break;  
                        }  
                    }  

                    if(tag == true)  
                        System.out.println(args[0] + " equals to " + args[1]);  
                    else  
                        System.out.println(args[0] + " is not equal to " + args[1]);  
                }  
            }  
            catch(IOException e)  
            {  
                System.out.println(e);  
            }  
        }  
        catch (FileNotFoundException e)  
        {  
            System.out.println("File can't find..");  
        }  
        finally  
        {  

            try  
            {  
                if(File1 != null)  
                    File1.close();  
                if(File2 != null)  
                    File2.close();  
            }  
            catch (IOException e)  
            {  
                System.out.println(e);  
            }  
        }  
    }

更多java知识请关注Java基础教程栏目。

--结束END--

本文标题: java判断文件是否相同的方法

本文链接: https://www.lsjlt.com/news/2057.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • java判断文件是否相同的方法
    java判断文件是否相同的方法:计算MD5或SHA-1然后对比判断 // 计算文件的 MD5 值 根据MD5值 判断文件是否是同一个文件 public static String getFileMD5(File file) { ...
    99+
    2016-07-17
    java 文件
  • 【Java SE】判断两个文件内容是否相同的多种方法
    文章目录 1. 逐字节比较2. 文件摘要(哈希值)比较3. FileChannel4. 文件元数据比较5. Apache Commons IO 库6. Hutool 库 1. 逐字节比较 ...
    99+
    2023-09-28
    java java se IO 算法
  • java中判断是否相等的方法
    java中的基本数据类型判断是否相等,直接使用”==”就行了,相等返回true,否则,返回false。obj1==obj2 判断是obj1,obj2这两个引用变量是否相等,即它们所指向的对象是否为同一个对象。言外之意就是要求两个变量所指内存...
    99+
    2021-12-14
    java基础 java
  • java判断文件是否为空的方法
    在File类中并没有提供判断文件是否为空的方法,但可以借助length()方法的返回值进行判断。(推荐:java视频教程)length()方法定义为:public long length()如果文件不存在或文件为空时,length()方法返...
    99+
    2018-10-04
    java
  • js中isSame判断对象是否相同的方法
    这篇文章给大家分享的是有关js中isSame判断对象是否相同的方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1、isSame判断一个moment对象是否和另一个moment对象相同。moment('2...
    99+
    2023-06-15
  • java中判断文件是否为空的方法
    在File类中并没有提供判断文件是否为空的方法,但可以借助length()方法的返回值进行判断。length()方法定义为:public long length()如果文件不存在或文件为空时,length()方法返回0。示例代码: File...
    99+
    2020-12-30
    java基础 java 判断 文件 为空 方法
  • java判断字符串是否相等的方法
    java判断字符串是否相等的方法:java中字符串的比较:==我们经常习惯性的写上if(str1==str2),这种写法在java中可能会带来问题 example1:String a="abc"; String b="abc"那么a==b将...
    99+
    2016-04-26
    java 字符串
  • java中判断字符串是否相等的方法
    1、java中字符串的比较:==我们经常习惯性的写上if(str1==str2),但是这种写法在java中可能会带来问题。示例:String a="abc";String b="abc"那么a==b将返回true。因为在java中字符串的值...
    99+
    2016-04-20
    java 判断 字符串 相等
  • java判断字符串是否不相等的方法
    判断地址是否相等 用:==Object类作为所有类的超类,而Object类的equals方法是直接比较地址的,源码如下:public boolean equals(Object obj) { return th...
    99+
    2017-12-05
    java
  • java实现判断file文件是否存在的方法
    此示例显示如何使用File类的file.exists()方法检查文件的存在。package com.yiibai; import java.io.File; public class FileExistence { public s...
    99+
    2017-07-11
    java 实现 file 存在 方法
  • java判断是否是英文的方法介绍
    在做开发的时候我们经常需要用到根据某个字符或者字符串来判断其是否英文,下面我们来看一下java中判断是否英文的方法:(推荐:java视频教程)判断字符串中是否全为英文 boolean result = str.matches("[a...
    99+
    2019-03-27
    java
  • java判断是否空的方法
    java判断是否空的方法:1、判断字符串或者对象是否为空StringUtils的判断StringUtils.isEmpty(CharSequence cs); //org.apache.commons.lang3包下的StringUtils...
    99+
    2019-06-30
    java
  • java判断socket是否断开的方法
    socket类中有一个方法sendUrgentData,它会往输出流发送一个字节的数据,只要对方Socket的SO_OOBINLINE属性没有打开,就会自动舍弃这个字节(在Java 中是抛出异常),而SO_OOBINLINE属性默认情况下就...
    99+
    2019-01-27
    java socket
  • javascript判断变量是否相等的方法
    这篇文章主要介绍javascript判断变量是否相等的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!判断方法:1、利用相等运算符“==”或者“===”;2、利用数组中的toString()方法;3、利用“Obje...
    99+
    2023-06-14
  • java判断文件是否为空
    Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。在File类中并没有提供判断文件是否为空的方法,但可以借助length()方法的返...
    99+
    2018-03-17
    java基础 java
  • java判断是否为文件夹
    Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。java中的isDirectory()是检查一个对象是否是文件夹。返回值是bool...
    99+
    2021-04-09
    java
  • java判断文件是否存在
    java中可以使用file.exists()方法来检测文件是否存在,public boolean exists()测试此抽象路径名表示的文件或目录是否存在。java判断文件是否存在的方法:public static void main(St...
    99+
    2015-03-06
    java基础 java
  • java判断是否是json的方法
    java判断是否json格式的方法:(推荐:java视频教程)json格式:{"name":"Michael","age":24,"birthday":"2018-09-09"};private boolean isjson(String ...
    99+
    2020-03-22
    java基础 java
  • java判断是否是ip的方法
    java可以使用正则表达式判断是否是IP。(推荐:java视频教程)实现代码如下: package com.you.dao; import java.util.regex.Matcher; import java.util....
    99+
    2020-01-13
    java
  • java判断指定文件是否存在的方法介绍
    java判断文件是否存在: public static boolean isExcite(String filePath) { File file = new File(filePath); // 如...
    99+
    2020-04-18
    java
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作