视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
实现文件和文件夹的复制的方法
2020-11-27 22:36:04 责编:小采
文档

话不多说,请看代码:

private void btnSave_Click(object sender, EventArgs e) //文件复制、保存方法
 {
 #region 静态复制文件(写死)
 string desPath = @"c:\1\1.chm";
 if (File.Exists(desPath))
 {
 //目标文件已存在
 if (MessageBox.Show(("文件已存在,是否覆盖"), "询问", MessageBoxButtons.YesNo, MessageBoxIcon.Question)
 == DialogResult.Yes) //选择Yes 确定覆盖
 {
 //复制文件
 File.Copy(@"c:\ls\w3.chm", desPath, true);
 MessageBox.Show("覆盖成功");
 }
 }
 else //文件不存在
 {
 //开始复制
 File.Copy(@"c:\ls\w3.chm", desPath, true);
 MessageBox.Show("复制成功");
 }
 //显示打开对话框,返回值为dialogResult类型,如果是OK,则用户点击的为打开,否则为取消
 openFileDialog1.InitialDirectory=(@"c:\1"); //选择文件时的默认位置
 //openfilediaglog1.filter中的fileter是过滤器的作用
 //showdialog()显示对话框的方法.
 openFileDialog1.Filter = "可执行程序|*.exe|TXT文本|*.txt|图片文件|*.jpg|所有文件|*.*";//可保存类型

 if (openFileDialog1.ShowDialog() == DialogResult.OK)//点击了打开
 {
 if (saveFileDialog1.ShowDialog() == DialogResult.OK) //说明点yes 也就是确认保存
 {
 File.Copy(openFileDialog1.FileName, saveFileDialog1.FileName, true);
 MessageBox.Show("保存完成");
 }
 }
#endregion
 }
 //File类是对文件操作的,包括复制、保存、创建时间、修改时间等等等等。
 //Directory功能类似file
 #region 动态
 private void btnCopyContents_Click(object sender, EventArgs e)
 {
 string oldDir, newDir; //分别是原文件夹和目标文件夹
 FolderBrowserDialog sourceFolder = new FolderBrowserDialog();//动态生成了folderbrowserdialog这个控件 不需要拖控件
 sourceFolder.Description = "请选择要复制的文件夹";//显示了一个简单说明
 if(sourceFolder.ShowDialog()==DialogResult.OK)//点了确定
 {
 oldDir = sourceFolder.SelectedPath;
 sourceFolder.Description = "请选择要复制到的文件夹";//修改了一下sourcefolder的说明文字 便于使用者使用
 if (sourceFolder.ShowDialog()== DialogResult.OK) //如果确定 那么执行下面代码块代码
 {
 newDir = sourceFolder.SelectedPath;
 //获取当前要复制的文件夹中的所有文件(注意!不包含下级文件夹及其中的文件)
 string[] files = Directory.GetFiles(oldDir);//定义了个字符数组来接收源文件内需要复制的文件
 foreach (string filepath in files) //也可以用for语句
 {
 //File.Copy(filepath,newDir+"\\"+filepath.Substring(filepath.LastIndexOf("\\")+1),true);
 //拆分了一下,更为简洁
 string nFileName ; //定义一个string类型,来获取文件名
 nFileName = filepath.Substring(filepath.LastIndexOf("\\") + 1); //获取要复制的文件夹里的文件名
 File.Copy(filepath, newDir + "\\" + nFileName, true); //最后得出要复制的文件夹以及文件夹里的文件名并进行复制
 }
 //MessageBox.Show("复制完成");
 }
 //MessageBox.Show(sourceFolder.SelectedPath);

 }
 }
 #endregion

下载本文
显示全文
专题