zoukankan      html  css  js  c++  java
  • C# 实现文件或目录复制到指定目录

     public void CopyFilesToDirKeepSrcDirName(string srcPath, string destDir)
            {
                if (Directory.Exists(srcPath))
                {
                    DirectoryInfo srcDirectory = new DirectoryInfo(srcPath);
                    CopyDirectory(srcPath, destDir + @"" + srcDirectory.Name);
                }
                else
                {
                    CopyFile(srcPath, destDir);
                }
            }
            public void CopyFilesToDir(string srcPath, string destDir)
            {
                if(Directory.Exists(srcPath))
                {
                    CopyDirectory(srcPath, destDir);
                }
                else
                {
                    CopyFile(srcPath, destDir);
                }
            }
            private void CopyDirectory(string srcDir, string destDir)
            {
                DirectoryInfo srcDirectory = new DirectoryInfo(srcDir);
                DirectoryInfo destDirectory = new DirectoryInfo(destDir);
    
                if (destDirectory.FullName.StartsWith(srcDirectory.FullName, StringComparison.CurrentCultureIgnoreCase))
                {
                    throw new Exception("cannot copy parent to child directory.");
                }
    
                if (!srcDirectory.Exists)
                {
                    return;
                }
    
                if (!destDirectory.Exists)
                {
                    destDirectory.Create();
                }
    
                FileInfo[] files = srcDirectory.GetFiles();
    
                for (int i = 0; i < files.Length; i++)
                {
                    CopyFile(files[i].FullName, destDirectory.FullName);
                }
    
                DirectoryInfo[] dirs = srcDirectory.GetDirectories();
    
                for (int j = 0; j < dirs.Length; j++)
                {
                    CopyDirectory(dirs[j].FullName, destDirectory.FullName + @"" + dirs[j].Name);
                }
            }
    
            private void CopyFile(string srcFile, string destDir)
            {
                DirectoryInfo destDirectory = new DirectoryInfo(destDir);
                string fileName = Path.GetFileName(srcFile);
                if (!File.Exists(srcFile))
                {
                    return;
                }
    
                if (!destDirectory.Exists)
                {
                    destDirectory.Create();
                }
    
                File.Copy(srcFile, destDirectory.FullName + @"" + fileName, true);
    
            } 
    
  • 相关阅读:
    arc模式和ios的关系
    uitableview置底部,不显示到最顶层
    Mac OS X Lion 10.7.4 升级包
    ObjectiveC urlencode/urldecode url加密解密
    UITableView阴影
    iOS SDK: Working with URL Schemes
    黑苹果mac lion 10.7.3升级10.7.4
    查找 EXC_BAD_ACCESS 问题根源的方法
    "unrecognized selector sent to instance"问题的解决
    测量应用程序cass和cad的使用感受
  • 原文地址:https://www.cnblogs.com/jerry1999/p/4115867.html
Copyright © 2011-2022 走看看