C#中文件及文件夾的遍历
操作文件常用的類(lèi)有:
File------實(shí)用類(lèi),提供許多靜態(tài)方法,用于移動(dòng)、刪除、和復(fù)制文件。
Directory------實(shí)用類(lèi),提供許多靜態(tài)方法,用于移動(dòng)、刪除和復(fù)制目錄。
Path------ 實(shí)用類(lèi),用于處理路徑名稱。
FileInfo------表示磁盤(pán)上的物理文件,具有可以處理此文件的方法,要完成對(duì)文件的讀寫(xiě)工作,就必須創(chuàng)建Stream對(duì)像。
DirectoryInfo------表示磁盤(pán)上的物理目錄,具有可以處理此目錄的方法
下面對(duì)這些類(lèi)分別作介紹:
1.File和Directory類(lèi)
作為實(shí)用類(lèi),File和Directory類(lèi)都提供了許多方法,用于處理文件系統(tǒng)以及其中的文件和目錄。這些是靜態(tài)方法,涉及移動(dòng)文件、查詢和更新屬性并創(chuàng)建FileStream對(duì)象。
File類(lèi)一些最常用的靜態(tài)方法:
Copy()------將文件復(fù)制到規(guī)定的位置
Create()------在規(guī)定的位置上創(chuàng)建文件
Delete()------刪除文件
Open()-------在規(guī)定的路徑上返回FileStream對(duì)像
Move()------將規(guī)定的文件移動(dòng)到新位置,可以在新位置給文件規(guī)定不同的名字
Directory類(lèi)的一些常用的靜態(tài)方法
CreateDirectory()------創(chuàng)建具有規(guī)定路徑的目錄
Delete()------刪除規(guī)定的目錄以及其中的所有文件
GetDirectories()------返回表示當(dāng)前目錄之下的目錄的Directory對(duì)像的數(shù)組
GetFiles()-------返回在當(dāng)前目錄中的File對(duì)像的數(shù)組
Move()------將規(guī)定的目錄移動(dòng)到新位置。可以在新位置為文件夾規(guī)定一個(gè)新名稱
例1:列出磁碟機(jī)
????string[]?drives?=?Directory.GetLogicalDrives();????foreach(string?drive?in?drives)
????{
????????addListItem(drive);
????}
例2:列出子文件夾
????string[]?dirs?=?Directory.GetDirectories(winDir);????foreach(string?dir?in?dirs)
????{
????????addListItem(dir);
????}
例3:列出文件
????string[]?files=?Directory.GetFiles(winDir);????foreach?(string?i?in?files)
????{
????????addListItem(i);
????}
例4:遞歸搜索與搜索字符串相匹配的文件
void?DirSearch(string?sDir,string?searchPattern)?{
?try?
?{
????foreach?(string?d?in?Directory.GetDirectories(sDir))?
????{
??foreach?(string?f?in?Directory.GetFiles(d,?searchPattern))?
??{
?????addListItem(f);
??}
??DirSearch(d);
????}
?}
?catch?(System.Exception?excpt)?
?{
??Console.WriteLine(excpt.Message);
?}
}
2.FileInfo 類(lèi)
FileInfo類(lèi)不像File類(lèi),它沒(méi)有靜態(tài)方法,僅可用于實(shí)例化的對(duì)像。FileInfo對(duì)像表示在磁盤(pán)或網(wǎng)絡(luò)位置的文件,注意它不是流,為了讀寫(xiě)文件,必須創(chuàng)建Stream對(duì)像。
fileInfo類(lèi)提供了下面的關(guān)于基礎(chǔ)性的文件的屬性,這些屬性可能用來(lái)更新文件。
Attributes-----獲取或設(shè)置當(dāng)前文件的屬性
CreationTime------獲取當(dāng)前文件的創(chuàng)建日期和時(shí)間
DirectoryName------獲取文件目錄的路徑
Exists------判斷是否存在文件
FullName------檢索文件的完整路徑
Length------獲取文件的容量
Name------僅僅返回文件的名稱,而不是完整的文件位置路徑、
例:檢視文件信息
????addListItem("File?Name?=?"?+?FileProps.FullName);
????addListItem("Creation?Time?=?"?+?FileProps.CreationTime);
????addListItem("Last?Access?Time?=?"?+?FileProps.LastAccessTime);
????addListItem("Last?Write?TIme?=?"?+?FileProps.LastWriteTime);
????addListItem("Size?=?"?+?FileProps.Length);
????FileProps?=?null;?
總結(jié)
以上是生活随笔為你收集整理的C#中文件及文件夾的遍历的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 程序员的半衰期只有15年?
- 下一篇: 2014年广州科目三道路驾驶技能考试/广