copy某目錄下的所有的目錄和文件到目的目錄(目錄數據備份)
2005-11-01 21:07
393 查看
最近工作需要得寫一個目錄數據備份的實現
我寫了2個靜態方法.
方法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目錄中的數據備份
我寫了2個靜態方法.
方法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目錄中的數據備份
相关文章推荐
- copy某目錄下的所有的目錄和文件到目的目錄(目錄數據備份)
- C#中copy某目录下的所有的目录和文件到目的目录
- 写一个通用的copy(String 原始路径,String 新路径),能复制所有文件,且名字和后缀名与源文件一致,在名字前拼接当前日期使用Scanner写入路径
- 黑马程序员—编写程序,将指定目录下所有.java文件拷贝到另一个目的中,并将扩展名改为.txt
- android 获取指定路径下所有文件,将文件从一个目录copy到另一个目录,执行linux命令
- 编写程序,将指定目录下所有.java 文件拷贝到另一个目的中,并将扩展名改为.txt。
- c#实现将一个文件夹中的所有文件复制到另一个文件夹,并在新文件夹中创建一个txt文件记录copy的文件综述以及文件名称
- 利用TEXTCOPY.exe 上传一个目录中的所有文件到数据库中表
- 查找指定目錄下的所有文件夾
- 在Linux将某个文件copy到特定目录下的所有文件夹下的特定文件夹里
- 复制D:\\day05目录下的所有文件到D:\\copy,并将.txt文件改为.java文件。
- js操作客户端:把某一个文件夹下面的所有的文件copy到目标文件夹
- 如何寫Android.mk,使得可以copy 某目錄下所有檔案到image裡
- COPY目录下的所有子目录和文件到其他目录
- Copy指定目录下的所有文件到新位置
- 递归遍历磁盘下的某一文件夹中所有文件,并copy文件生成文件和带文件夹的文件
- (转)js操作客户端:把某一个文件夹下面的所有的文件copy到目标文件夹
- COPY一个目录底下所有文件的函数
- 递归遍历磁盘下的某一文件夹中所有文件,并copy文件生成文件和带文件夹的文件
- 递归遍历磁盘下的某一文件夹中所有文件,并copy文件生成文件和带文件夹的文件