• 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);
    
            } 
    
  • 相关阅读:
    rest-framework之路由
    rest-framework之频率控制
    mysql 模糊查询 concat()
    解决spring使用动态代理
    MySQL巧用sum,case...when...优化统计查询
    解决maven项目中有小红叉的问题
    google ---gson字符串数组用GSON解析然后用逗号隔开拼接,去掉最后一个逗号
    Elicpse使用技巧-打开选中文件文件夹或者包的当前目录
    powdesigner建表
    遍历map
  • 原文地址:https://www.cnblogs.com/jerry1999/p/4115867.html
Copyright © 2020-2023  润新知