C#中文件及文件夾的遍历
操作文件常用的類有:
File------實用類,提供許多靜態方法,用于移動、刪除、和復制文件。
Directory------實用類,提供許多靜態方法,用于移動、刪除和復制目錄。
Path------ 實用類,用于處理路徑名稱。
FileInfo------表示磁盤上的物理文件,具有可以處理此文件的方法,要完成對文件的讀寫工作,就必須創建Stream對像。
DirectoryInfo------表示磁盤上的物理目錄,具有可以處理此目錄的方法
下面對這些類分別作介紹:
1.File和Directory類
作為實用類,File和Directory類都提供了許多方法,用于處理文件系統以及其中的文件和目錄。這些是靜態方法,涉及移動文件、查詢和更新屬性并創建FileStream對象。
File類一些最常用的靜態方法:
Copy()------將文件復制到規定的位置
Create()------在規定的位置上創建文件
Delete()------刪除文件
Open()-------在規定的路徑上返回FileStream對像
Move()------將規定的文件移動到新位置,可以在新位置給文件規定不同的名字
Directory類的一些常用的靜態方法
CreateDirectory()------創建具有規定路徑的目錄
Delete()------刪除規定的目錄以及其中的所有文件
GetDirectories()------返回表示當前目錄之下的目錄的Directory對像的數組
GetFiles()-------返回在當前目錄中的File對像的數組
Move()------將規定的目錄移動到新位置。可以在新位置為文件夾規定一個新名稱
例1:列出磁碟機
????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 類
FileInfo類不像File類,它沒有靜態方法,僅可用于實例化的對像。FileInfo對像表示在磁盤或網絡位置的文件,注意它不是流,為了讀寫文件,必須創建Stream對像。
fileInfo類提供了下面的關于基礎性的文件的屬性,這些屬性可能用來更新文件。
Attributes-----獲取或設置當前文件的屬性
CreationTime------獲取當前文件的創建日期和時間
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;?
總結
以上是生活随笔為你收集整理的C#中文件及文件夾的遍历的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 程序员的半衰期只有15年?
- 下一篇: c# char unsigned_dll