C#文件(夹)复制
来源:互联网 发布:c语言中二维数组赋值 编辑:程序博客网 时间:2024/04/26 06:14
/// <summary>
/// 将整个文件夹及其下面的文件夹和文件复制到目标文件夹中。
/// </summary>
/// <param name="srcdir">源文件夹路径</param>
/// <param name="desdir">目标文件夹路径</param>
private void CopyDirectory(string srcdir, string desdir)
{
try
{
string folderName = srcdir.Substring(srcdir.LastIndexOf("//") + 1);
string desfolderdir = desdir + "//" + folderName;
if (desdir.LastIndexOf("//") == (desdir.Length - 1))
{
desfolderdir = desdir + folderName;
}
string[] filenames = Directory.GetFileSystemEntries(srcdir);
foreach (string file in filenames)// 遍历所有的文件和目录
{
if (Directory.Exists(file))// 先当作目录处理如果存在这个目录就递归Copy该目录下面的文件
{
string currentdir = desfolderdir + "//" + file.Substring(file.LastIndexOf("//") + 1);
if (!Directory.Exists(currentdir))
{
Directory.CreateDirectory(currentdir);
}
CopyDirectory(file, desfolderdir);
}
else // 否则直接copy文件
{
string srcfileName = file.Substring(file.LastIndexOf("//") + 1);
srcfileName = desfolderdir + "//" + srcfileName;
if (!Directory.Exists(desfolderdir))
{
Directory.CreateDirectory(desfolderdir);
}
File.Copy(file, srcfileName);
}
}
}
catch (Exception ex)
{
MessageBox.Show("异常:"+ex.Message);
}
}
/// <summary>
/// 将整个文件夹下面的文件和文件夹复制到目标文件夹中。
/// </summary>
/// <param name="srcPath">源文件夹</param>
/// <param name="aimPath">目标文件夹</param>
/// <returns></returns>
public bool CopyDir(string srcPath, string aimPath)
{
try
{
// 检查目标目录是否以目录分割字符结束如果不是则添加之
if (aimPath[aimPath.Length - 1] != Path.DirectorySeparatorChar)
{
aimPath += Path.DirectorySeparatorChar;
}
// 判断目标目录是否存在如果不存在则新建之
if (!Directory.Exists(aimPath))
{
Directory.CreateDirectory(aimPath);
}
// 得到源目录的文件列表,该里面是包含文件以及目录路径的一个数组
// 如果你指向copy目标文件下面的文件而不包含目录请使用下面的方法
string[] fileList = Directory.GetFileSystemEntries(srcPath);
// 遍历所有的文件和目录
foreach (string file in fileList)
{
// 先当作目录处理如果存在这个目录就递归Copy该目录下面的文件
if (Directory.Exists(file))
{
CopyDir(file, aimPath + Path.GetFileName(file));
}
// 否则直接Copy文件
else
{
File.Copy(file, aimPath + Path.GetFileName(file), true);
}
}
return true;
}
catch
{
return false;
}
}
- C#文件(夹)复制
- C#递归复制文件
- C#文件复制
- 复制文件进度条 C#
- C#复制文件
- c#复制文件
- C# 复制,删除文件
- C#文件复制
- c#复制文件
- C# 复制文件
- C#文件复制小工具
- C#文件复制与删除
- C# 文件复制 进度条显示
- C# 复制 IE 缓存文件
- C#复制文件的问题
- C#复制文件和文件夹
- C# 文件夹以及文件复制
- C# 复制文件和文件夹
- FlyPlan强力更新通告
- CodeSmith 基础教程(转载)
- 今天终于开博了,欢迎各位访问!
- eWebEditor编辑——JSP数据内容
- oracle实验记录 (恢复,备份-含坏块数据文件)
- C#文件(夹)复制
- 将递归转化成迭代的通用技术
- Error: Failed to create feature class. Table already registered
- 多空间目录
- 如何查看端口+如何关闭开放端口
- js打开新窗口
- Android应用程序上传错误The package name of your apk may not begin with any of the following values:[com.android, com.google, android, co
- 剖析C++标准库智能指针(std::auto_ptr)
- Android 实现书籍翻页效果----升级篇