close

 

 

(1) 其利用到一個DirectoryInfo物件。此物件代表著作業系統中某一個資料夾路徑的相關資訊。該物件的宣告方法為:

DirctoryInfo 物件名稱 = new DirwctoryInfo(String "路徑");

其中,路徑可為絕對路徑或相對路徑。若為相對路徑,則以該專案的執行檔所在之路徑為基準。這個該專案的執行檔所在之路徑」,通常為該專案資料夾下的:專案名稱\bin\Debug。例如某個專案名叫WindowsFormsApplication1,則這個「該專案的執行檔所在之路徑」就是該專案資料夾下的:WindowsFormsApplication1\bin\Debug

且在輸入相對路徑時,可用點號 . 來代表當前目錄,用兩個點號 .. 來代表當前目錄的父目錄。

  1. DirectoryInfo物件的常用成員:

物件名稱.FullName:一個string。代表該路徑絕對路徑形式。

物件名稱.Exists:一個bool。若為true,代表該路徑上已有資料夾存在。若為false則代表該路徑上沒有徑物存在、或存在的徑物不是資料夾。

物件名稱.CreationTime:一個DateTime物件。代表該路徑上之資料夾創立的時間。若該路徑上之徑物不是資料夾,也會顯示其創立的時間。但若該路徑上沒有徑物,則其時間會是1601/1/1 08:00:00

物件名稱.LastAccessTime:一個DateTime物件。代表該路徑上之資料夾最近一次被存取的時間。若該路徑上之徑物不是資料夾,也會顯示其最近一次被存取的時間。但若該路徑上沒有徑物,則其時間會是1601/1/1 08:00:00

物件名稱.Parent:一個DirectoryInfo物件。代表該路徑之父目錄的相關資訊。

物件名稱.Name:一個string。代表該路徑上之徑物名。

(2) DirectoryInfo物件的常用成員函式:

物件名稱.Create():無回傳值。若路徑上沒有徑物,此函式會在路徑上建立一個空的資料夾。而若路徑上有徑物,則此函式不作用。

物件名稱.CreatSubdirectory(String "名稱"):若路徑上沒有徑物、或路徑上的徑物是資料夾,則此函式會在路徑底下建立一個空的子資料夾,其名稱為名稱,並回傳一個將該子資料夾的DirectoryInfo物件。而若路徑上的徑物不是資料夾,則此函式會出錯。

物件名稱.Delete():無回傳值。若路徑上的徑物是資料夾,則此函式會刪除此資料夾。而若路徑上無徑物、或徑物不是資料夾,則此函式會出錯。

物件名稱.GetDirectories([String 檔名條件]):若路徑上的徑物是資料夾,則此函式會回傳一個DirectoryInfo物件的矩陣,而若路徑上無徑物、或徑物不是資料夾,則此函式會出錯。若沒寫檔名條件則回傳該路徑中所有子資料夾的相關資訊。若有寫檔名條件,則回傳符合該檔名條件所有子資料夾。檔名條件也支持萬用字元*的用法。例如,在dir1資料夾下有三個子資料夾dd1dd2hh。則:

物件名稱.GetDirectories()會回傳這三個子資料夾之DirectoryInfo物件的矩陣。

物件名稱.GetDirectories("dd1")回傳矩陣中的元素,就只有dd1這個子資料夾之DirectoryInfo物件。

物件名稱.GetDirectories("dd*")會回傳dd1dd2DirectoryInfo物件的矩陣。

物件名稱.GetFiles([String 檔名條件]):若路徑上的徑物是檔案,則此函式會回傳一個FileInfo物件的矩陣,代表該路徑中所有子檔案的相關資訊。而若路徑上無徑物、或徑物不是資料夾,則此函式會出錯。若沒寫檔名條件則回傳該路徑中所有子檔案的相關資訊。若有寫檔名條件,則回傳符合該檔名條件所有子檔案。檔名條件也支持萬用字元*的用法。

物件名稱.MoveTo(String "新路徑"):無回傳值。將該資料夾從原本的路徑移至新路徑上。但若新路徑上已經有徑物存在,則此函式會出錯。

(2) 資料夾的常用功能:

Directory.Exists("路徑"):檢查路徑上是否有資料夾。若有回傳true,否則回傳false。注意,若路徑上的徑物是檔案而非資料夾,也會回傳false

Directory.Delete("路徑", B):刪除該路徑上的資料夾。其中B是布林值,表示是否要遞迴式的刪除路徑資料夾裡面的子資料夾。若路徑上的資料夾內容不為空,則B要設為true,否則設為false。表示要若路徑上無資料夾,本函式會出錯。

Directory.CreateDirectory("路徑"):建立資料夾在路徑上。

 

 

 

上一篇:類別的繼承

下一篇:路徑的處理

按此前往C#完整教學目錄

arrow
arrow

    埃伯 發表在 痞客邦 留言(0) 人氣()