zoukankan      html  css  js  c++  java
  • 基于.Net的文件增量备份系统实现

      .Net中提供了许多方便使用的方法,包括在处理文件中查找文件、拷贝文件等,今天实现的是通过简易的程序实现增量的备份文件。

      首先需要的是选择备份源文件路径SourcePath和备份目标文件路径DestinationPath,然后通过StopWatch统计拷贝所耗费的时间。(注意:使用StopWatch需要添加 using System.Diagnostics命名空间,对文件的读写需要添加 using System.IO命名空间)。

    /// <summary>
    /// 增量备份函数方法
    /// </summary>
    /// <param name="SourcePath">备份源文件路径</param>
    /// <param name="DestinationPath">备份目标文件路径</param>
    public void CopyDirectory(String SourcePath, String DestinationPath){
       Stopwatch watch = new Stopwatch();
       watch.Start();      //开始计算时间
       // 检查目标目录是否以目录分割字符结束如果不是则添加
       if (DestinationPath[DestinationPath.Length - 1] != Path.DirectorySeparatorChar)
       {
          DestinationPath += Path.DirectorySeparatorChar;
       }
       //判断目标目录是否存在如果不存在则新建
       if (!Directory.Exists( DestinationPath))
        {
          Directory.CreateDirectory(DestinationPath);
        }
        // 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
        string[] fileList = Directory.GetFileSystemEntries(SourcePath);
        // 遍历所有的文件和目录
        foreach (string SourceFilename in fileList)
         {
           string filename = Path.GetFileName(SourceFilename);
              //先判断文件在目标文件夹中是否存在
              if (File.Exists(DestinationPath + filename))
               {
                  FileInfo oldFile = new FileInfo(SourceFilename);
                  FileInfo newFile = new FileInfo(DestinationPath + filename);
                  if (oldFile.LastWriteTime == newFile.LastWriteTime) 
                    {
                       continue;          //跳出本次循环
                    }
                 }
    else { // 先当作目录处理如果存在这个目录就递归Copy该目录下面的文件 if (Directory.Exists(SourceFilename)) { CopyDirectory(SourceFilename, DestinationPath + filename); }// 否则直接Copy文件 else { File.Copy(SourceFilename, DestinationPath + filename, true);
    } } } watch.Stop();
    //时间停止
    MessageBox.Show("备份完成  耗时"+watch.Elapsed+""); //显示所消耗的时间 }
  • 相关阅读:
    SAP字符串处理
    ABAP更换请求
    Odoo安装教程12-创建新的插件模块之设置视图层第二讲
    Odoo安装教程12-创建新的插件模块之设置视图层第一讲
    Odoo安装教程11-创建新的插件模块之设置访问权限
    SAP是什么?-SAP 各模块概览
    SAP是什么?-SAP 各产品释义
    SAP版本演进及区别-S/4 HANA 与R3(ECC)
    Odoo安装教程12-创建新的插件模块之设置视图层第二讲
    Odoo安装教程12-创建新的插件模块之设置视图层第一讲
  • 原文地址:https://www.cnblogs.com/zam151/p/5597175.html
Copyright © 2011-2022 走看看