• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

c#深拷贝文件夹示例

c# 搞代码 4年前 (2022-01-09) 14次浏览 已收录 0个评论
using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Text.RegularExpressions;using System.Threading.Tasks;namespace FileUtility{    public class Program    {        public static void DeepCopy(DirectoryInfo source, DirectoryInfo target, params string[] excludePatterns)        {            if (target.FullName.Contains(source.FullName))                return;            // Go through the Directories and recursively call the DeepCopy Method for each one            foreach (DirectoryInfo dir in source.GetDirectories())            {                var dirName = dir.Name;                var shouldExclude = excludePatterns.Aggregate(false, (current, pattern) => current || Regex.Match(dirName, pattern).Success);                if (!shouldExclude)                    DeepCopy(dir, target.CreateSubdirectory(dir.Name), excludePatterns);            }            // Go ahead and copy each file to the target directory            foreach (FileInfo file in source.GetFiles())            {                var fileName = file.Name;                var shouldExclude = excludePatterns.Aggregate(false,                                                              (current, pattern) =>                                                              current || Regex.Match(fileName, pattern).Success);                if (!shouldExclude)                    file.CopyTo(Path.Combine(target.FullName, fileName));            }        }        static void Main(string[] args)        {            DeepCopy(new DirectoryInfo(@"d:/test/b"), new DirectoryInfo(@"d:/test/a"));            DeepCopy(new DirectoryInfo(@"d:/test/c"), new DirectoryInfo(@"d:/test/c/c.1"));            DeepCopy(new DirectoryInfo(@"d:/test/1/"), new DirectoryInfo(@"d:/test/2/"), new string[] { ".*\\.txt" });            Console.WriteLine("复制成功...");            Console.ReadKey();        }    }}<mark>本文来源gaodaimacom搞#^代%!码&网(</mark>

更多c#深拷贝文件夹示例相关文章请关注搞代码


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:c#深拷贝文件夹示例
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址