日期:2014-05-18 浏览次数:20988 次
/// <summary> /// 根据两个文件路径,实现文件同步,如果文件大小不一致,则以源文件覆盖目标文件 /// </summary> /// <param name="src">源文件</param> /// <param name="dest">目标文件</param> public static void ContrastFile(string src, string dest) { Console.WriteLine(DateTime.Now.ToString() + " 正在检测文件一致性..."); long p1Len = 0; long p2Len = 0; if (!File.Exists(dest)) // 如果第二个路径不存在就创建了 { string con = "hello,world"; // Console.WriteLine("创建临时文件:{0}", dest); using (StreamWriter sw = File.CreateText(dest)) { sw.WriteLine(con); // Console.WriteLine("写入数据:{0}", con); } } if (File.Exists(src) && File.Exists(dest)) // 文件对比 { FileInfo f1 = new FileInfo(src); FileInfo f2 = new FileInfo(dest); // 判断文件大小 p1Len = f1.Length; p2Len = f2.Length; // Console.WriteLine(" 文件大小(bytes) \n 网络文件:{0},目标文件:{1}", p1Len, p2Len); if (p1Len != p2Len) // 删掉第二个,复制第一个到第二个位置 { File.Delete(dest); // Console.WriteLine(" 删除文件 : {0}", dest); File.Copy(src, dest); // Console.WriteLine(" 替换文件 : {0} -- {1} \n 文件替换成功!", src, dest); Console.WriteLine(DateTime.Now.ToString() + " 【文件不一致,已经更新为最新版。】 "); } else { Console.WriteLine(DateTime.Now.ToString() + " 【已经是最新版本,保持不变。】"); } } }
?