当前位置: 编程技术>.net/c#/asp.net
C#拷贝或复制文件夹的实例代码
来源: 互联网 发布时间:2014-08-30
本文导语: 实现文件或文件夹的拷贝(复制)。 原文件路径:FileOldPath; 新文件路径:FileNewPath, 实现移动与复制: File.Move(FileOldPath,FileNewPath) 或File.Copy(FileOldPath,FileNewPath) 注意:此处的路径是文件夹路径+文件名,可以用Path.Combine()...
实现文件或文件夹的拷贝(复制)。
原文件路径:FileOldPath;
新文件路径:FileNewPath,
新文件路径:FileNewPath,
实现移动与复制:
File.Move(FileOldPath,FileNewPath)
或File.Copy(FileOldPath,FileNewPath)
或File.Copy(FileOldPath,FileNewPath)
注意:此处的路径是文件夹路径+文件名,可以用Path.Combine()来实现。
C#复制文件夹的例子。
说明:
Directory类中包含了CreateDirectory、Move和Delete方法,但没有Copy方法。
以下示例使用递归把指定文件夹及其子文件夹中的文件复制到目标文件夹中。
代码如下:
代码示例:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
///
/// MyDirectory 的摘要说明
///
public class MyDirectory
{
///
/// 文件夹复制 www.
///
/// 原始路径
/// 目标路径
///
public static void Copy(string sourceDirName, string destDirName)
{
if (sourceDirName.Substring(sourceDirName.Length - 1) != "\")
{
sourceDirName = sourceDirName + "\";
}
if (destDirName.Substring(destDirName.Length - 1) != "\")
{
destDirName = destDirName + "\";
}
if (Directory.Exists(sourceDirName))
{
if(!Directory.Exists(destDirName))
{
Directory.CreateDirectory(destDirName);
}
foreach (string item in Directory.GetFiles(sourceDirName))
{
File.Copy(item,destDirName+Path.GetFileName(item),true);
}
foreach (string item in Directory.GetDirectories(sourceDirName))
{
Copy(item, destDirName + item.Substring(item.LastIndexOf("\")+ 1));
}
}
}
}
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
///
/// MyDirectory 的摘要说明
///
public class MyDirectory
{
///
/// 文件夹复制 www.
///
/// 原始路径
/// 目标路径
///
public static void Copy(string sourceDirName, string destDirName)
{
if (sourceDirName.Substring(sourceDirName.Length - 1) != "\")
{
sourceDirName = sourceDirName + "\";
}
if (destDirName.Substring(destDirName.Length - 1) != "\")
{
destDirName = destDirName + "\";
}
if (Directory.Exists(sourceDirName))
{
if(!Directory.Exists(destDirName))
{
Directory.CreateDirectory(destDirName);
}
foreach (string item in Directory.GetFiles(sourceDirName))
{
File.Copy(item,destDirName+Path.GetFileName(item),true);
}
foreach (string item in Directory.GetDirectories(sourceDirName))
{
Copy(item, destDirName + item.Substring(item.LastIndexOf("\")+ 1));
}
}
}
}