C# 文件夹及子文件夹的删除与拷贝

来源:互联网 发布:java电商系统代码 编辑:程序博客网 时间:2024/05/22 09:04

删除文件夹

/// <summary>        /// 删除文件夹        /// </summary>        /// <param name="dir"></param>        public static void DeleteFolder(string dir)        {            foreach (string d in Directory.GetFileSystemEntries(dir))            {                if (File.Exists(d))                {                    FileInfo fi = new FileInfo(d);                    if (fi.Attributes.ToString().IndexOf("ReadOnly") != -1)                    {                        fi.Attributes = FileAttributes.Normal;                    }                    //直接删除其中的文件                       File.Delete(d);                }                else                {                    //递归删除子文件夹                      DeleteFolder(d);                }            }            DirectoryInfo di = new DirectoryInfo(dir);            if (di.Attributes.ToString().IndexOf("ReadOnly") != -1)            {                di.Attributes = FileAttributes.Normal;            }            //删除已空文件夹               Directory.Delete(dir);        }

拷贝文件夹

/// <summary>                  /// Copy文件夹                  /// </summary>                 /// <param name="sPath">源文件夹路径</param>                  /// <param name="dPath">目的文件夹路径</param>                  /// <returns>完成状态:success-完成;其他-报错</returns>                  public static string CopyFolder(string sPath, string dPath)                 {                          string flag = "success";                         try                        {                              // 创建目的文件夹                          if (!Directory.Exists(dPath))                        {                                 Directory.CreateDirectory  (dPath);                         }                                // 拷贝文件                            DirectoryInfo sDir = new DirectoryInfo(sPath);                        FileInfo[] fileArray = sDir.GetFiles();                         foreach (FileInfo file in fileArray)                           {                                      file.CopyTo(dPath + "\\" + file.Name, true);                        }                                 // 循环子文件夹                            DirectoryInfo dDir = new DirectoryInfo(dPath);                      DirectoryInfo[] subDirArray = sDir.GetDirectories();                       foreach (DirectoryInfo subDir in subDirArray)                                  {                                    CopyFolder(subDir.FullName, dPath + "//" + subDir.Name);                  }                       }                        catch (Exception ex)                {                              flag = ex.ToString();                 }                       return flag;              }
原创粉丝点击