C#刪除文件目錄或文件:遞歸的方法
作者:佚名
使用遞歸的好處就是,可以在里面做判斷,比如你只想刪除其中的部分條件文件。本文介紹使用遞歸進(jìn)行C#刪除文件目錄及文件的操作方法。
以下代碼實(shí)現(xiàn)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)
使用遞歸進(jìn)行C#刪除文件目錄的好處
以上有人可能認(rèn)為很煩,沒(méi)有意義,何必用遞歸呢.幾句代碼就可以了.但我想說(shuō),使用遞歸的好處就是,可以在里面做判斷,比如你只想刪除其中的部分條件文件,你可以這樣改一下..比如你只想刪除名字等到.aaa.txt的.完全可以;
- foreach(stringsubDirindirs)
- {
- if(null==Directory.GetFiles(
- subDir)&&subDir=="aaa.txt")
- {
- Directory.Delete(subDir);
- return;
- }
- elseCleanFiles(subDir);
- }
以上就介紹了如何使用遞歸實(shí)現(xiàn)C#刪除文件目錄和文件。
【編輯推薦】
責(zé)任編輯:冰荷
來(lái)源:
baidu