C#文件及文件夹的复制
来源:互联网 发布:什么是数据割接 编辑:程序博客网 时间:2024/06/06 05:13
小编初入C#
复制文件:
在c#中复制文件就要用到File.Copy()方法
_path=@"E:\text.txt";
_path1=@"D:\";
如果直接用FIle.Copy(_path,_paht1,true);编译器就会报错,无法找到@"D:\"的一部分
上网查了以后原来在copy时_path1的路径必需存在,也就是在_path1得有text.txt这个文件,然后再copy覆盖过去,代码如下
FileInfo f = new FileInfo(_path1);f.Create();//在_path1下创建tet文件File.Copy(_path,_path1,true);//复制文件
但是这样一编译的也会报错说当前文件已经被别的线程所占用,为了解决这个问题巧妙的用流,改进后的代码
FileInfo f = new FileInfo(_path1); using (Stream sw = f.Create())//创建该文件 { sw.Close(); } File.Copy(_path, _path1, true);//复制覆盖当把关闭流时,也就解除了被别的线程所占用
复制文件夹及其文件夹下面的所有文件与子目录:
由于没这个方法所有得自己构造一个方法,这里就要用递归的原理来copy了,代码如下
public void createfiles(string _path,int i) { string _path1 = "I:"; for (int j = 2; j <= i + 2; j++) _path1 += "\\"+ _path.Split('\\')[j]; if (File.Exists(_path))//是文件 { FileInfo f = new FileInfo(_path1); using (Stream sw = f.Create())//创建该文件 { sw.Close(); } File.Copy(_path, _path1, true);//复制覆盖 } if (Directory.Exists(_path))//是目录 { DirectoryInfo f = new DirectoryInfo(_path1); f.Create();//创建文件夹 DirectoryInfo f1 = new DirectoryInfo(_path); foreach (FileSystemInfo _file1 in f1.GetFileSystemInfos())//遍历当前文件夹下的所有文件与文件夹 { createfiles(_path + "\\" + _file1,i+1);//改变当前的路径 } }
通过遍历的方法来复制文件夹,遇到文件复制文件,遇到文件夹就文件夹(前提下是在文件及其文件夹的路径必需存在)
0 0
- C#文件及文件夹的复制
- C# 递归复制文件夹及文件夹目录下的文件
- C#文件及文件夹复制,移动,删除
- 复制文件及文件夹
- C# 文件,文件夹的复制集合
- c# 复制文件夹及文件夹下所有的内容
- C#复制文件夹的文件到另一个文件夹
- C#复制文件和文件夹
- C# 文件夹以及文件复制
- C# 复制文件和文件夹
- Java复制文件及复制文件夹
- JAVA递归调用 复制文件夹及子文件夹及文件夹下的文件
- c#文件及文件夹的操作
- C#文件及文件夹的操作
- 创建、删除文件及文件夹,文件及文件夹的复制、剪切、重命名。
- C#遍历文件夹下的所有文件及文件夹
- C#遍历某个文件夹的文件及子文件夹
- 文件夹及子文件夹文件的遍历C#
- Linux下安装tar、rpm、dpkg(deb)软件包
- Eclipse中java文件和jsp字体大小设置
- 二、C++迭代器的两种实现方式 (Range for和C#、Java中的foreach)
- AutoCompleteTextView的简单例子
- 服务端按钮同时调用onserverclick和onclick时,onserverclick不执行
- C#文件及文件夹的复制
- 眨眼理论
- 关于View
- MFC消息三部曲(3)——多窗口之间的通信
- iOS开发- ios学习资源(持续更新)
- DxImageProc库终于可以发布测试版本了
- Linux常用命令大全
- 内存管理介绍与Leak工具的使用
- Cocos2dx制作2048(4.增加计分)