zoukankan      html  css  js  c++  java
  • 文件与文件夹的完全复制

    文件与文件夹的完全复制,包扩子目录与子目录的文件

    static void Main(string[] args)
            {
                string dir1 = @"E:MyTest2.NETFileAndDirCopyfile1";
                string dir2 = @"E:MyTest2.NETFileAndDirCopyfile2";
    
                FileAndDirFullCopy(dir1, dir2);
    
                Console.ReadKey();
            }
    
            /// <summary>
            /// Full copies of files and directories
            /// </summary>
            /// <param name="sourceDir">source Dir.</param>
            /// <param name="destinationDir">destination Dir.</param>
            public static void FileAndDirFullCopy(string sourceDir, string destinationDir)
            {
                DirectoryInfo source = new DirectoryInfo(sourceDir);
    
                //Files
                FileInfo[] files = source.GetFiles();
                foreach (var file in files)
                {
                    string copyToFile = Path.Combine(destinationDir, file.Name);
                    if (!File.Exists(copyToFile))
                    {
                        file.CopyTo(copyToFile);
                        Console.WriteLine($"文件:({file.FullName})被复制到({copyToFile}).
    ");
                    }
    
                    Console.WriteLine($"文件:({file.FullName})复制结束.");
                }
    
                //subfolders and subfiles
                DirectoryInfo[] subDirs = source.GetDirectories();
                foreach (var subDir in subDirs)
                {
                    //Directories
                    string copyToSubDir = Path.Combine(destinationDir, subDir.Name);
                    if (!Directory.Exists(copyToSubDir))
                    {
                        Console.WriteLine($"目录:{subDir.FullName},被创建.
    ");
                        Directory.CreateDirectory(copyToSubDir);
                    }
    
                    //subfiles
                    FileInfo[] subfiles = subDir.GetFiles();
                    foreach (var subfile in subfiles)
                    {
                        string copyToSubFile = Path.Combine(copyToSubDir, subfile.Name);
                        if (!File.Exists(copyToSubFile))
                        {
                            subfile.CopyTo(copyToSubFile);
                            Console.WriteLine($"文件:({subfile.FullName})被复制到({copyToSubFile}).
    ");
                        }
                    }
    
                    //subfolders
                    FileAndDirFullCopy(subDir.FullName, copyToSubDir);
    
                    Console.WriteLine($"目录:({subDir.FullName})复制结束.");
                    Console.WriteLine();
                }
            }
    
  • 相关阅读:
    2.4 学习总计 之 自己实现底部导航
    2.3 学习总结 之 分页查询
    2.2 学习总结 之 servlet 的两次抽取
    Rocket
    Rocket
    Rocket
    Rocket
    Rocket
    Rocket
    Rocket
  • 原文地址:https://www.cnblogs.com/tangge/p/14719977.html
Copyright © 2011-2022 走看看