C#-文件复制到指定目录和复制文件夹中的所有数据

时间:2021-06-12 12:33:51

文件的复制操作也是文件处理过程中常用的操作,文件复制比较简单,File类中提供了很多方法,这里只实例演示File.Copy()的用法,其代码如下:

string pLocalFilePath ="";//要复制的文件路径
string pSaveFilePath ="";//指定存储的路径
if (File.Exists(pLocalFilePath))//必须判断要复制的文件是否存在
{
File.Copy(pLocalFilePath, pSaveFilePath, true);//三个参数分别是源文件路径,存储路径,若存储路径有相同文件是否替换
}

复制文件夹中的所有文件到指定目录,只需循环遍历文件夹中的所有文件即可,不过需要考虑文件夹中有下层文件夹的情况,其示例代码如下:

 /// <summary>
 /// 复制文件夹中的所有内容
 /// </summary>
 /// <param name="sourceDirPath">源文件夹目录</param>
 /// <param name="saveDirPath">指定文件夹目录</param>
   public void CopyDirectory(string sourceDirPath, string saveDirPath)
        {
            try
            {
                if (!Directory.Exists(saveDirPath))
                {
                    Directory.CreateDirectory(saveDirPath);
                }
                string[] files = Directory.GetFiles(sourceDirPath);
                foreach (string file in files)
                {
                    string pFilePath = saveDirPath + "\\" + Path.GetFileName(file);
                    if (File.Exists(pFilePath))
                        continue;
                    File.Copy(file, pFilePath, true);
                }

                string[] dirs = Directory.GetDirectories(sourceDirPath);
                foreach (string dir in dirs)
                {
                    CopyDirectory(dir, saveDirPath + "\\" + Path.GetFileName(dir));
                }
            }
            catch (Exception ex)
            {

            }
        }         

上述实例代码均经过验证