跳至主要内容

C# 删除目录和目录下的所有文件

直接删除法
  1. DirectoryInfo di = new DirectoryInfo(string Path);
  2. di.Delete(true);
层级删除法
  1. /// <summary>
  2. /// 删除非空文件夹
  3. /// </summary>
  4. /// <param name="path">要删除的文件夹目录</param>
  5. void DeleteDirectory(string path)
  6. {
  7. DirectoryInfo dir = new DirectoryInfo(path);
  8. if (dir.Exists)
  9. {
  10. DirectoryInfo[] childs = dir.GetDirectories();
  11. foreach (DirectoryInfo child in childs)
  12. {
  13. child.Delete(true);
  14. }
  15. dir.Delete(true);
  16. }
  17. }
递归方法(删除目录和文件)
private staticv oid DeleteDirectory(File tmpFile) {
        if (!tmpFile.exists()) {
             System.out.println("file is not exist!");
            return;
         }
        if (tmpFile.isDirectory()) {
             File[] fileList = tmpFile.listFiles();
            for (int i =0; i < fileList.length; i++) {
                if (fileList[i].isDirectory()) {
                     DeleteDirectorys(fileList[i]);s
                 }  
           }
     }
}
递归删除法(删除目录和文件)

static void DeleteDirectory(string dir)
{
if (Directory.GetDirectories(dir).Length == 0 && Directory.GetFiles(dir).Length == 0)
{
Directory.Delete(dir);
return;
}
foreach (string var in Directory.GetDirectories(dir))
{
DeleteDirectory(var);
}
foreach (string var in Directory.GetFiles(dir))
{
File.Delete(var);
}
Directory.Delete(dir);
}

评论

此博客中的热门博文