源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

c#深拷贝文件夹示例

  • 时间:2021-03-16 10:50 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:c#深拷贝文件夹示例
[u]复制代码[/u] 代码如下:
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();         }     } }
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部