1. 程式人生 > >c#遍歷資料夾獲得所有檔案

c#遍歷資料夾獲得所有檔案

c#遍歷資料夾獲得所有檔案

在c#中,想要獲得一個資料夾下的所有子目錄以及檔案十分簡單。

首先,獲取目錄的情況下,DirectoryInfo.GetDirectories():獲取目錄(不包含子目錄)的子目錄,返回型別為DirectoryInfo[],支援萬用字元查詢;

其次,獲取檔案的情況下, DirectoryInfo.GetFiles():獲取目錄中(不包含子目錄)的檔案,返回型別為FileInfo[],支援萬用字元查詢;

最後,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:分別用於獲取檔案的建立時間、訪問時間、修改時間;

想要獲取某一資料夾下的所有檔案,通用的方法就是遍歷

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

public static void GetAllDir(string dir1)

     {

         List<string> list = new List<string

>();

         DirectoryInfo dir = new DirectoryInfo(dir);

         DirectoryInfo[] dirinfo = dir.GetDirectories();

         

         

for (int i = 0; i < dirinfo.Length; i++)

         {

 

             list.Add(dirinfo[i].FullName);

             GetAllDir(dirinfo[i].FullName);

         }

          

         for (int i = 0; i < list.Count; i++)

         {

                 Console.WriteLine(list[i]);

         }

 

     }