C#删除文件目录或文件:递归的方法

开发 后端
使用递归的好处就是,可以在里面做判断,比如你只想删除其中的部分条件文件。本文介绍使用递归进行C#删除文件目录及文件的操作方法。

以下代码实现C#删除文件目录或文件的功能:

  1. ///〈summary〉  
  2. ///C#删除文件目录和文件  
  3. ///〈/summary〉  
  4. publicclassCleaner  
  5. {  
  6. ///〈summary〉  
  7. ///删除指定目录以及该目录下所有文件  
  8. ///〈/summary〉  
  9. ///〈paramname="dir"〉  
  10. 欲删除文件或者目录的路径〈/param〉  
  11. publicstaticvoidClean(stringdir)  
  12. {  
  13. CleanFiles(dir);//***次删除文件  
  14. CleanFiles(dir);//第二次删除目录  
  15. }  
  16. privatestaticvoidCleanFiles(stringdir)  
  17. {  
  18. if(!Directory.Exists(dir))  
  19. {  
  20. File.Delete(dir);  
  21. return;  
  22. }  
  23. else 
  24. {  
  25. string[]dirs=Directory.GetDirectories(dir);  
  26. string[]files=Directory.GetFiles(dir);  
  27. if(0!=dirs.Length)  
  28. {  
  29. foreach(stringsubDirindirs)  
  30. {  
  31. if(null==Directory.GetFiles(subDir))  
  32. {  
  33. Directory.Delete(subDir);  
  34. return;  
  35. }  
  36. elseCleanFiles(subDir);  
  37. }  
  38. }  
  39. if(0!=files.Length)  
  40. {  
  41. foreach(stringfileinfiles)  
  42. {  
  43. File.Delete(file);  
  44. }  
  45. }  
  46. elseDirectory.Delete(dir);  
  47. }  
  48. }  

使用方法,一句话.Directory.Delete(path,true)

使用递归进行C#删除文件目录的好处

以上有人可能认为很烦,没有意义,何必用递归呢.几句代码就可以了.但我想说,使用递归的好处就是,可以在里面做判断,比如你只想删除其中的部分条件文件,你可以这样改一下..比如你只想删除名字等到.aaa.txt的.完全可以;

  1. foreach(stringsubDirindirs)  
  2. {  
  3. if(null==Directory.GetFiles(  
  4. subDir)&&subDir=="aaa.txt")  
  5. {  
  6. Directory.Delete(subDir);  
  7. return;  
  8. }  
  9. elseCleanFiles(subDir);  
  10. }  

以上就介绍了如何使用递归实现C#删除文件目录和文件。

【编辑推荐】

  1. C#中定义装箱和拆箱详解
  2. 浅谈C#类型系统
  3. 三种不同的C#异常类型
  4. 详细介绍C#编译器
  5. C#异常机制的相关解释
责任编辑:冰荷 来源: baidu
相关推荐

2009-09-02 19:22:03

C#递归

2009-08-17 08:29:00

c#删除指定文件

2009-06-06 19:17:37

java递归删除

2009-08-25 14:26:28

C#播放AVI文件

2020-09-30 06:00:00

Linux误删除恢复文件

2009-08-12 17:27:11

C#读取文件

2017-06-09 13:51:42

Linux命令删除文件

2009-08-17 08:04:00

C#高级编程

2009-08-17 07:55:00

C#文件操作

2009-09-01 18:35:53

C#判断文件存在

2009-09-09 18:20:29

C# XML编程

2009-09-28 10:28:04

Linux删除目录子目录

2017-03-14 09:45:24

2010-04-30 18:25:25

Unix删除

2018-04-27 10:33:56

Linux命令chattr

2016-12-13 23:08:48

Linux命令

2009-08-13 15:18:23

C#文件上传

2009-08-25 15:53:21

C#编辑config文

2009-08-26 14:31:08

C#打印文件

2009-08-18 13:35:06

C#枚举文件
点赞
收藏

51CTO技术栈公众号