zoukankan      html  css  js  c++  java
  • 比较文件内容是否一致

     /// <summary>
            /// 比较是否相同文件
            /// </summary>
            /// <param name="fileValidator">原文件路径</param>
            /// <param name="fileToCompare">要比较文件路径</param>
            /// <returns>是否相同</returns>
            public static bool FileCompare( string fileValidator, string fileToCompare )
            {
                //  判断文件路径是不是一样。
                if(fileValidator == fileToCompare)
                {return true;}
                int file1byte = 0;
                int file2byte = 0;
                //开始文件流比较
                try
                {
                    using(FileStream fs1 = new FileStream(fileValidator,FileMode.Open),fs2 = new FileStream(fileToCompare,FileMode.Open))
                    {
                        //  首先检查文件大小。如果两个文件的大小不相同,则肯定是不相同的文件。
                        if(fs1.Length != fs2.Length)
                        {
                            // 关闭文件。
                            fs1.Close();
                            fs2.Close();
                            return false;
                        }
                        //  逐一比较两个文件的每一个字节,直到发现不相符或已到达文件尾端为止。
                        do
                        {
                            //从每一个文件读取一个字节。
                            file1byte = fs1.ReadByte();
                            file2byte = fs2.ReadByte();
                        }while ((file1byte == file2byte) && (file1byte != -1));
                        // 关闭文件。
                        fs1.Close();
                        fs2.Close();
                    }
                    //  返回比较的结果。在这个时候,只有当两个文件的内容完全相同时,"file1byte" 才会等于 "file2byte"。
                    return ((file1byte - file2byte) == 0);
                }
                catch( FileNotFoundException ex)
                {
                    throw ex;
                }
            }
  • 相关阅读:
    【转】主从同步出现一下错误:Slave_IO_Running: Connecting
    解决Mysql的主从数据库没有同步的两种方法
    xargs命令详解,xargs与管道的区别
    常用的排序算法的时间复杂度和空间复杂度
    IP 地址分类(A、B、C、D、E类)
    SNMP 协议介绍 转载
    TCP首部的TimeStamp时间戳选项 转载
    TCP SACK 介绍 转载
    HTTP header 介绍 转载
    CRT小键盘输入乱码
  • 原文地址:https://www.cnblogs.com/zsxfbj/p/747989.html
Copyright © 2011-2022 走看看