# [C# Directory類的操作]

C# Directory類的操作

Directory類位于System.IO 命名空間。Directory類提供了在目錄和子目錄中進行創(chuàng)建移動和列舉操作的靜態(tài)方法。此外氓奈,你還可以訪問和操作各種各樣的目錄屬性痹籍,例如創(chuàng)建或最后一次修改時間以及Windows訪問控制列表等瞬欧。

System.IO.Directory類和System.DirectoryInfo類

主要提供關(guān)于目錄的各種操作贷屎,使用時需要引用System.IO命名空間。下面通過程序?qū)嵗齺斫榻B其主要屬性和方法艘虎。

百度經(jīng)驗:jingyan.baidu.com

方法/步驟

1.目錄創(chuàng)建方法:Directory.CreateDirectory

該方法聲明如下:

public static DirectoryInfo CreateDirectory(string path);

下面的代碼演示在c:\tempuploads文件夾下創(chuàng)建名為NewDirectory的目錄唉侄。

private void MakeDirectory()

{

 Directory.CreateDirectory(@"c:\tempuploads\NewDirectoty");

}

2.目錄屬性設(shè)置方法:DirectoryInfo.Atttributes

下面的代碼設(shè)置c:\tempuploads\NewDirectory目錄為只讀、隱藏野建。與文件屬性相同属划,目錄屬性也是使用FileAttributes來進行設(shè)置的。

private void SetDirectory()

{

 DirectoryInfo NewDirInfo = new DirectoryInfo(@"c:\tempuploads\NewDirectoty");

 NewDirInfo.Atttributes = FileAttributes.ReadOnly|FileAttributes.Hidden;

}

3.目錄刪除方法:Directory.Delete

該方法聲明如下:

public static void Delete(string path,bool recursive);

下面的代碼可以將c:\tempuploads\BackUp目錄刪除候生。Delete方法的第二個參數(shù)為bool類型同眯,它可以決定是否刪除非空目錄。如果該參數(shù)值為true唯鸭,將刪除整個目錄须蜗,即使該目錄下有文件或 子目錄;若為false目溉,則僅當(dāng)目錄為空時才可刪除明肮。

private void DeleteDirectory()

{

 Directory.Delete(@"c:\tempuploads\BackUp",true);

}

4.目錄移動方法:Directory.Move

該方法聲明如下:

public static void Move(string sourceDirName,string destDirName);

下面的代碼將目錄c:\tempuploads\NewDirectory移動到c:\tempuploads\BackUp。

private void MoveDirectory()

{

 File.Move(@"c:\tempuploads\NewDirectory",@"c:\tempuploads\BackUp");

}

5.獲取當(dāng)前目錄下的所有子目錄方法:Directory.GetDirectories

該方法聲明如下:

public static string[] GetDirectories(string path);

下面的代碼讀出c:\tempuploads\目錄下的所有子目錄缭付,并將其存儲到字符串?dāng)?shù)組中柿估。

private void GetDirectory()

{

string [] Directorys;

Directorys = Directory. GetDirectories (@"c:\tempuploads");

}

6.獲取當(dāng)前目錄下的所有文件方法:Directory.GetFiles

該方法聲明如下:

public static string[] GetFiles(string path;);

下面的代碼讀出c:\tempuploads\目錄下的所有文件,并將其存儲到字符串?dāng)?shù)組中陷猫。

private void GetFile()

{

string [] Files;

Files = Directory. GetFiles (@"c:\tempuploads");

}

7.判斷目錄是否存在方法:Directory.Exist

該方法聲明如下:

public static bool Exists

(

string path;

);

下面的代碼判斷是否存在c:\tempuploads\NewDirectory目錄秫舌。若存在,先獲取該目錄下的子目錄和文件烙丛,然后其移動舅巷,最后將移動后的目錄刪除。若不存在河咽,則先創(chuàng)建該目錄,然后將目錄屬性設(shè)為只讀、隱藏

if(File.Exists(@"c:\tempuploads\NewDirectory")) //判斷目錄是否存在

{

GetDirectory(); //獲取子目錄

GetFile(); //獲取文件

MoveDirectory(); //移動目錄

DeleteDirectory(); //刪除目錄

}

else

{

MakeDirectory(); //生成目錄

SetDirectory(); //設(shè)置目錄屬性

}

注意:

路徑有3種方式赋元,當(dāng)前目錄下的相對路徑忘蟹、當(dāng)前工作盤的相對路徑、絕對路徑搁凸。以C:\Tmp\Book為例(假定當(dāng)前工作目錄為C:\Tmp)媚值。“Book”护糖,“\Tmp\Book”,“C:\Tmp\Book”都表示C:\Tmp\Book褥芒。

另外,在C#中 “\”是特殊字符,要表示它的話需要使用“\”锰扶。由于這種寫法不方便献酗,C#語言提供了@對其簡化。只要在字符串前加上@即可直接使用“\”坷牛。所以上面的路徑在C#中應(yīng)該表示為“Book”罕偎,@“\Tmp\Book”,@“C:\Tmp\Book”京闰。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末颜及,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子蹂楣,更是在濱河造成了極大的恐慌俏站,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件痊土,死亡現(xiàn)場離奇詭異乾翔,居然都是意外死亡,警方通過查閱死者的電腦和手機施戴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進店門反浓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人赞哗,你說我怎么就攤上這事雷则。” “怎么了肪笋?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵月劈,是天一觀的道長。 經(jīng)常有香客問我藤乙,道長猜揪,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任坛梁,我火速辦了婚禮而姐,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘划咐。我一直安慰自己拴念,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布褐缠。 她就那樣靜靜地躺著政鼠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪队魏。 梳的紋絲不亂的頭發(fā)上公般,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天,我揣著相機與錄音,去河邊找鬼官帘。 笑死瞬雹,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的遏佣。 我是一名探鬼主播挖炬,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼状婶!你這毒婦竟也來了意敛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤膛虫,失蹤者是張志新(化名)和其女友劉穎草姻,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體稍刀,經(jīng)...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡撩独,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了账月。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片综膀。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖局齿,靈堂內(nèi)的尸體忽然破棺而出剧劝,到底是詐尸還是另有隱情,我是刑警寧澤抓歼,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布讥此,位于F島的核電站,受9級特大地震影響谣妻,放射性物質(zhì)發(fā)生泄漏萄喳。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一蹋半、第九天 我趴在偏房一處隱蔽的房頂上張望他巨。 院中可真熱鬧,春花似錦湃窍、人聲如沸闻蛀。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至役衡,卻和暖如春茵休,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工榕莺, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留俐芯,地道東北人。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓钉鸯,卻偏偏與公主長得像吧史,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子唠雕,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內(nèi)容

  • JAVA面試題 1贸营、作用域public,private,protected,以及不寫時的區(qū)別答:區(qū)別如下:作用域 ...
    JA尐白閱讀 1,146評論 1 0
  • 一. Java基礎(chǔ)部分.................................................
    wy_sure閱讀 3,807評論 0 11
  • 說明本次redis集群安裝在rhel6.8 64位機器上,redis版本為3.2.8岩睁,redis的gem文件版本為...
    讀或?qū)?/span>閱讀 14,661評論 3 9
  • 離北距久 鐘歸陸離 不久的將來 久久歸去 在遠(yuǎn)方的路 搬到腳下 躊躇不停 泛過遠(yuǎn)方的離別 展開著一片天空 蔚藍(lán) ...
    相濡以棄閱讀 157評論 0 6
  • 1:互聯(lián)網(wǎng):社群經(jīng)濟 互聯(lián)網(wǎng)時代:能把線上和線下融合起來: 2:社群經(jīng)濟 未來企業(yè)的資產(chǎn)是看社群資產(chǎn)有多少钞脂,用戶有...
    潘潘郡主閱讀 116評論 0 1