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;
                }
            }
  • 相关阅读:
    day14(JavaDoc)
    day15(Java流程控制)
    day12
    day.6
    day10
    day11(运算符)
    day.5
    proc -x cshell fork()
    I/O -x 标准IO fopen-fclose--fgetc-fputc--fgets-fputs--fwrite-fread--fprintf-fscanf
    I/O -x open()-read()-write()-close()-lseek()
  • 原文地址:https://www.cnblogs.com/zsxfbj/p/747989.html
Copyright © 2011-2022 走看看