以下代码实现C#删除文件目录或文件的功能:
- ///〈summary〉
- ///C#删除文件目录和文件
- ///〈/summary〉
- publicclassCleaner
- {
- ///〈summary〉
- ///删除指定目录以及该目录下所有文件
- ///〈/summary〉
- ///〈paramname="dir"〉
- 欲删除文件或者目录的路径〈/param〉
- publicstaticvoidClean(stringdir)
- {
- CleanFiles(dir);//***次删除文件
- CleanFiles(dir);//第二次删除目录
- }
- privatestaticvoidCleanFiles(stringdir)
- {
- if(!Directory.Exists(dir))
- {
- File.Delete(dir);
- return;
- }
- else
- {
- string[]dirs=Directory.GetDirectories(dir);
- string[]files=Directory.GetFiles(dir);
- if(0!=dirs.Length)
- {
- foreach(stringsubDirindirs)
- {
- if(null==Directory.GetFiles(subDir))
- {
- Directory.Delete(subDir);
- return;
- }
- elseCleanFiles(subDir);
- }
- }
- if(0!=files.Length)
- {
- foreach(stringfileinfiles)
- {
- File.Delete(file);
- }
- }
- elseDirectory.Delete(dir);
- }
- }
- }
使用方法,一句话.Directory.Delete(path,true)
使用递归进行C#删除文件目录的好处
以上有人可能认为很烦,没有意义,何必用递归呢.几句代码就可以了.但我想说,使用递归的好处就是,可以在里面做判断,比如你只想删除其中的部分条件文件,你可以这样改一下..比如你只想删除名字等到.aaa.txt的.完全可以;
- foreach(stringsubDirindirs)
- {
- if(null==Directory.GetFiles(
- subDir)&&subDir=="aaa.txt")
- {
- Directory.Delete(subDir);
- return;
- }
- elseCleanFiles(subDir);
- }
以上就介绍了如何使用递归实现C#删除文件目录和文件。
【编辑推荐】