C# 文件夹拷贝

来源:互联网 发布:天尚网络电视机顶盒 编辑:程序博客网 时间:2024/05/22 09:03

C# 文件夹拷贝,看网上相同功能很多,但是使用起来 没有达到预期:

    public static void CopyDirectory(string srcDir, string tgtDir)    {         DirectoryInfo source = new DirectoryInfo(srcDir);        DirectoryInfo target = new DirectoryInfo(tgtDir);        //if (target.FullName.StartsWith(source.FullName, StringComparison.CurrentCultureIgnoreCase))        //{        //    Debug.LogError("父目录不能拷贝到子目录!");         //}        if (!source.Exists)        {            return;        }        if (!target.Exists)        {            target.Create();        }        FileInfo[] files = source.GetFiles();        for (int i = 0; i < files.Length; i++)        {            File.Copy(files[i].FullName, target.FullName + @"/" + files[i].Name, true);        }        DirectoryInfo[] dirs = source.GetDirectories();        for (int j = 0; j < dirs.Length; j++)        {            CopyDirectory(dirs[j].FullName, target.FullName + @"/" + dirs[j].Name);        }    }

文件夹的删除:


        public static void DeleteDirectory(DirectoryInfo dir)        {            if (!dir.Exists)            {                return;            }            try            {                FileInfo[] files = dir.GetFiles();                foreach (FileInfo file in files)                {                    file.Delete();                }                // Add subdirectory sizes.                DirectoryInfo[] directories = dir.GetDirectories();                foreach (DirectoryInfo directory in directories)                {                    DeleteDirectory(directory);                }                dir.Delete();            }            catch (Exception ex)            {                Debug.LogError("Exception ex.Message = " + ex.Message + ". Please make sure the folder is not used by any other program.");            }        }


原创粉丝点击