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);
    
            } 
    
  • 相关阅读:
    用C#如何创建、读取cookie
    根据拼音首字母搜索
    物理路径和相对路径 斜杠和反斜杠
    FileUpLoad导入文件类型
    JS获取FckEditor的值
    DateTime 的24小时和12小时制
    JS中Date对象getYear()方法和getFullYear()方法区别
    SQL Server 索引结构及其使用(二)
    带你学习JQuery:事件冒泡和阻止默认行为
    DropDownList 发现
  • 原文地址:https://www.cnblogs.com/jerry1999/p/4115867.html
Copyright © 2011-2022 走看看