1. 程式人生 > WINDOWS開發 >C# 遍歷目錄下所有檔案方法

C# 遍歷目錄下所有檔案方法

C#遍歷指定資料夾中的所有檔案
DirectoryInfo TheFolder=new DirectoryInfo(folderFullName);
//遍歷資料夾
foreach(DirectoryInfo NextFolder in TheFolder.GetDirectories())
this.listBox1.Items.Add(NextFolder.Name);
//遍歷檔案
foreach(FileInfo NextFile in TheFolder.GetFiles())
this.listBox2.Items.Add(NextFile.Name);

Directory資料夾static類

CreateDirectory(string path):建立資料夾全路徑

void Delete(string path,bool recursive):刪除資料夾path, recursive表示是否也刪除子檔案及子資料夾。如果資料夾不為空, recursive=false,則拋異常;

bool Exists(string path):判斷資料夾是否存在

EnumerateFiles、 EnumerateDirectories遍歷檔案和資料夾;

如何獲取指定目錄包含的檔案和子目錄
1. DirectoryInfo.GetFiles():獲取目錄中(不包含子目錄)的檔案,返回型別為FileInfo[],支援萬用字元查詢;
2. DirectoryInfo.GetDirectories():獲取目錄(不包含子目錄)的子目錄,返回型別為DirectoryInfo[],支援萬用字元查詢;

3. DirectoryInfo. GetFileSystemInfos():獲取指定目錄下(不包含子目錄)的檔案和子目錄,返回型別為FileSystemInfo[],支援萬用字元查詢;
如何獲取指定檔案的基本資訊;
FileInfo.Exists:獲取指定檔案是否存在;
FileInfo.Name,FileInfo.Extensioin:獲取檔案的名稱和副檔名;
FileInfo.FullName:獲取檔案的全限定名稱(完整路徑);
FileInfo.Directory:獲取檔案所在目錄,返回型別為DirectoryInfo;
FileInfo.DirectoryName:獲取檔案所在目錄的路徑(完整路徑);
FileInfo.Length:獲取檔案的大小(位元組數);
FileInfo.IsReadOnly:獲取檔案是否只讀;
FileInfo.Attributes:獲取或設定指定檔案的屬性,返回型別為FileAttributes列舉,可以是多個值的組合
FileInfo.CreationTime、FileInfo.LastAccessTime、FileInfo.LastWriteTime:分別用於獲取檔案的建立時間、訪問時間、修改時間;

檔案讀取

using (FileStream fs = new FileStream(@"d:\1.txt",FileMode.Open))

{

byte[] bytes =new byte[4];

int len;

while((len = fs.Read(bytes,bytes.Length))>0)

{

String s = Encoding.Default.GetString(bytes,len);

Console.Write(s);

}

}