zoukankan      html  css  js  c++  java
  • C#拷贝文件和复制文件夹实例代码 C#拷贝文件

    原来的文件路径名FileOldPath;
    新的文件路径名:FileNewPath,
    那就可以用
    File.Move(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;
    /// <summary>
    /// MyDirectory 的摘要说明
    /// </summary>
    public class MyDirectory
    {
        /// <summary>
        /// 文件夹复制
        /// </summary>
        /// <param name="sourceDirName">原始路径</param>
        /// <param name="destDirName">目标路径</param>
        /// <returns></returns>
        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));
                }
            }
        }
    }

  • 相关阅读:
    C++ 模板实现败者树,进行多路归并
    CentOS 7 使用 Realtek 8188eu 上网 (解决 Required key not available)
    C++ Concurrency in Action 读书笔记
    Linux操作系统是如何工作的
    大型项目使用Automake/Autoconf完成编译配置
    Socket 用于进程间通信 --- UNIX Domain Socket
    在Linux中实现类似windows中获取配置文 件的函数GetProfileString
    Linux Shell 1
    YAML
    ubuntu虚拟机如何连接到windows上安装的Navicat
  • 原文地址:https://www.cnblogs.com/weixing/p/2361472.html
Copyright © 2011-2022 走看看