• copy某目錄下的所有的目錄和文件到目的目錄(目錄數據備份)


    方法1:
    功能:copy某目錄下的所有的目錄和文件到目的目錄,即創建某文件夾的副本
    思路:先copy目錄下的所有文件,再遞歸循環目錄
    參數1:要copy的目錄名(原目錄),要是此文件夾不存在會拋出異常
    參數2:目的目錄名,要是此文件夾不存在程序會自己建立一個
     1         static void  directoryCopy(string sourcePath,string destPath)
     2         {
     3             if ( !Directory.Exists(sourcePath) )
     4             {
     5                 //拋出異常
     6                 throw new DirectoryNotFoundException("原路徑沒發現");
     7             }
     8 
     9             if ( !Directory.Exists(destPath) )
    10             {
    11                 //自己建立一個目的目錄
    12                 Directory.CreateDirectory(destPath);
    13             }
    14 
    15             DirectoryInfo dir=new DirectoryInfo(sourcePath);
    16             DirectoryInfo[] dirs= dir.GetDirectories();
    17                          
    18             //先拷貝該目錄下的所有文件
    19             copyFile(dir,destPath);
    20 
    21             if ( dirs.Length>0 )
    22             {
    23                 foreach(DirectoryInfo temDirectoryInfo in dirs)
    24                 {
    25                     string sourceDirectoryFullName=temDirectoryInfo.FullName;
    26                     string destDirectoryFullName=sourceDirectoryFullName.Replace(sourcePath,destPath);
    27                                         
    28                     if ( !Directory.Exists( destDirectoryFullName ) )
    29                     {
    30                         Directory.CreateDirectory( destDirectoryFullName );
    31                     }
    32                     
    33                     //拷貝temDirectoryInfo下的所有文件
    34                     copyFile(temDirectoryInfo,destDirectoryFullName);
    35 
    36                     //遞歸,訪問下一級目錄
    37                     directoryCopy( sourceDirectoryFullName,destDirectoryFullName );
    38                 }
    39             }
    40         }

    方法2:
    功能:copy某目錄下的所有文件
     先得到原目錄下的所有文件信息數組,再利用循環依次copy
     參數1:要copy的目錄(原目錄)
     參數2:目的目錄名稱

     1         static void copyFile(DirectoryInfo path,string destPath)
     2         {
     3             string sourcePath=path.FullName;
     4             
     5             FileInfo[] files=path.GetFiles();
     6 
     7             foreach(FileInfo file in files)
     8             {
     9                 //要copy的原文件全名
    10                 string sourceFileFullName=file.FullName;    
    11                 //目的文件的全名
    12                 string destFileFullName=sourceFileFullName.Replace(sourcePath,destPath);
    13                 //開始copy文件                            
    14                 file.CopyTo( destFileFullName ,true);
    15             }
    16         }

    調用
    directoryCopy(@"E:\Pc Drive",@"c:\tem\Pc Drive");
    實現E:\Pc Drive目錄中的數據備份

  • 相关阅读:
    QT 捕获事件(全局拦截)
    QT语言翻译
    QT,QLabel添加超链接
    解决VS+Qt不生成moc文件问题
    c++编译错误:invalid new-expression of abstract class type
    C++ 异常处理
    MATLAB 随机生成互不重叠的多个矩形
    sequential minimal optimization,SMO for SVM, (MATLAB code)
    How to decide on the correct number of clusters?
    python 将数据随机分为训练集和测试集
  • 原文地址:https://www.cnblogs.com/ghfsusan/p/1406964.html
Copyright © 2020-2023  润新知