黑马程序员技术交流社区
标题:
如何复制文件夹
[打印本页]
作者:
aynulily
时间:
2014-3-21 19:24
标题:
如何复制文件夹
本帖最后由 aynulily 于 2014-3-22 21:00 编辑
复制文件夹 包括其中的所以目录和文件 代码怎么写啊
作者:
mdb
时间:
2014-3-21 19:47
我做过这个功能,在网吧没有编译工具,只说思路,不贴代码了。
一:遍历文件夹下的所有文件,然后再循环用FILE类的COPY方法复制到指定的目录,每个文件都有一个父目录,的名称,复制时查看是不是有这个目录,如果没有就创建,创建完成后再复制文件进去。
二:我原来就是用的这个方法,比较简单省事,调用XCOPY和COPY这两个系统命令,具体的参数和用法请搜索下,很简单的。
这个回答可能没分了,亏就亏在朋友这没宽带,到网吧又不能用自己的电脑,唉...
作者:
Doublekill
时间:
2014-3-21 19:55
//复制文件
File.Copy(@"D:\详细报表.txt",@"E:\详细报表.txt");
Exists--文件是否存在
例如:
string despath = @"D:\详细报表.txt";
if (File.Exists(despath))
{
//目标文件已存在
if (MessageBox.Show("目标文件已存在,是否覆盖?", "询问", MessageBoxButtons.YesNo, MessageBoxIcon.Question) ==DialogResult.Yes)
{
//要覆盖
//复制文件
File.Copy(@"D:\详细报表.txt",despath, true);
MessageBox.Show("文件已被覆盖!");
}
}
openFileDialog--打开的路径
作者:
aynulily
时间:
2014-3-22 14:07
我查了一天,写了分别用 FileInfo和File的两种,不过大致是一样的
static bool CopyDir(string fromdic,string todic)
{
bool flag = false;
DirectoryInfo fromDic = new DirectoryInfo(fromdic);
try
{
if (!Directory .Exists (todic ))
{
Directory.CreateDirectory(todic );
}
foreach (FileInfo file in fromDic .GetFiles ())
{
file.CopyTo(todic +"\\"+file .Name ,true );//允许覆盖现有文件
}
foreach (DirectoryInfo subDir in fromDic .GetDirectories () )
{
CopyDir(subDir.FullName ,todic +"\\"+subDir .Name );
}
flag = true;
}
catch (Exception)
{
throw;
}
return flag;
}
另一个
static bool CopyDir(string fromdic,string todic)
{
bool flag = false;
if (!Directory .Exists (todic ))
{
Directory.CreateDirectory(todic );
}
//复制所有文件
foreach (string filename in Directory.GetFiles(fromdic ) )
{
File.Copy(filename,todic+"\\"+Path .GetFileName (filename ),true );
}
//复制所有子文件夹(递归)
foreach (string subdic in Directory .GetDirectories (fromdic ))
{
CopyDir(subdic ,todic +"\\"+Path .GetFileName (todic ));
}
flag = true;
return flag;
}
作者:
aynulily
时间:
2014-3-22 14:09
我怎么结束提问啊
作者:
zhangcheng5468
时间:
2014-3-22 16:31
在指定路径下创建同名的目录并遍历素有文件拷贝过去就完啦~
作者:
czwanglei
时间:
2014-3-22 18:35
当有人给你评论时,把你的帖子编辑为提问结束,这样,我好给你技术分啊。。。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2