最新公告
  • 欢迎您光临立业阁,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入我们
  • java判断文件是否相同的方法_Java教程


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

    1、计算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();
                }
            }
        }

    2、直接判断内容是否相同

     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基础教程栏目。

    以上就是java判断文件是否相同的方法的详细内容,更多请关注liyege.cn其它相关文章!

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    • 1174会员总数(位)
    • 111858资源总数(个)
    • 2本周发布(个)
    • 0 今日发布(个)
    • 245稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情
    冀ICP备19022365号-1 百度地图

    [email protected]

    立业阁(www.liyege.cn)免费提供wordpress主题模板、dedecms模板、帝国cms模板、小说网站源码、电影网站源码以及网络技术分享,建站源码,小说模板,电影模板,网赚教程,VPS推荐