C#刪除文件目錄或文件的解決方法
更新時(shí)間:2013年05月30日 16:23:33 作者:
本篇文章是對(duì)C#中如何刪除文件目錄或文件的解決方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
復(fù)制代碼 代碼如下:
/// 刪除文件和目錄
public class Cleaner
{
///
/// 刪除指定目錄以及該目錄下所有文件
///
/// 欲刪除文件或者目錄的路徑
public static void Clean ( string dir )
{
CleanFiles ( dir );//第一次刪除文件
CleanFiles ( dir );//第二次刪除目錄
}
private static void CleanFiles( string dir)
{
if ( !Directory.Exists ( dir ) )
{
File.Delete ( dir );
return;
}
else
{
string[] dirs = Directory.GetDirectories ( dir );
string[] files = Directory.GetFiles ( dir );
if ( 0 != dirs.Length )
{
foreach ( string subDir in dirs )
{
if ( null == Directory.GetFiles( subDir ) )
{
Directory.Delete( subDir );
return;
}
else CleanFiles ( subDir );
}
}
if ( 0 != files.Length )
{
foreach ( string file in files )
{
File.Delete ( file );
}
}
else Directory.Delete( dir );
}
}
}
使用方法,一句話.Directory.Delete( path, true)
以上有人可能認(rèn)為很煩,沒(méi)有意義,保必用遞歸呢.幾句代碼就可以了.
但我想說(shuō),使用遞歸的好處就是,可以,在里面做判斷,比如你只想刪除其中的部分條件文件,你可以這樣改一下..比如你只想刪除名字等到.aaa.txt的.完全可以,
復(fù)制代碼 代碼如下:
foreach ( string subDir in dirs )
{
if ( null == Directory.GetFiles( subDir ) && subDir == "aaa.txt")
{
Directory.Delete( subDir );
return;
}
else CleanFiles ( subDir );
}
當(dāng)然我只是弄個(gè)簡(jiǎn)單例子,但希望有用.呵.
相關(guān)文章
基于C#的UDP協(xié)議的同步通信實(shí)現(xiàn)代碼
本篇文章主要介紹了基于C#的UDP協(xié)議的同步實(shí)現(xiàn)代碼,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-02-02C# NullReferenceException解決案例講解
這篇文章主要介紹了C# NullReferenceException解決案例講解,本篇文章通過(guò)簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-08-08datatable生成excel和excel插入圖片示例詳解
excel導(dǎo)出在C#代碼中應(yīng)用己經(jīng)很廣泛了,下面講了datatable生成excel、復(fù)制sheet頁(yè)、刪除sheet頁(yè)、選中sheet頁(yè)、另存excel文件、excel中插入圖片等功能2014-01-01Unity?使用tiledmap解析地圖的詳細(xì)過(guò)程
這篇文章主要介紹了Unity?使用tiledmap解析地圖,本文通過(guò)圖文實(shí)例相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-04-04關(guān)于C#基礎(chǔ)知識(shí)回顧--反射(三)
在前面例子中,由于MyClass類(lèi)型的對(duì)象是顯示創(chuàng)建的,因此使用反射技術(shù)來(lái)調(diào)用MyClass上的方法沒(méi)有任何優(yōu)勢(shì)--以普通的方式調(diào)用對(duì)象上的方法會(huì)簡(jiǎn)單的多2013-07-07C# BackgroundWorker組件學(xué)習(xí)入門(mén)介紹
一個(gè)程序中需要進(jìn)行大量的運(yùn)算,并且需要在運(yùn)算過(guò)程中支持用戶一定的交互,為了獲得更好的用戶體驗(yàn),使用BackgroundWorker來(lái)完成這一功能2013-10-10C#實(shí)現(xiàn)兩個(gè)時(shí)間相減的方法
這篇文章主要介紹了C#實(shí)現(xiàn)兩個(gè)時(shí)間相減的方法,實(shí)例分析了C#針對(duì)時(shí)間操作的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-01-01