zoukankan      html  css  js  c++  java
  • 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目錄中的數據備份

  • 相关阅读:
    MVC ORM 架构
    Kubernetes 第八章 Pod 控制器
    Kubernetes 第七章 Configure Liveness and Readiness Probes
    Kubernetes 第六章 pod 资源对象
    Kubernetes 第五章 YAML
    Kubernetes 核心组件
    Kubernetes 架构原理
    Kubernetes 第四章 kubectl
    Kubernetes 第三章 kubeadm
    yum 配置及yum 源配置
  • 原文地址:https://www.cnblogs.com/ghfsusan/p/1406964.html
Copyright © 2011-2022 走看看