Để lấy các tệp, C # cung cấp một phương thức Directory.GetFiles
Directory.GetFiles trả về tên của tất cả các tệp (bao gồm cả đường dẫn của chúng) phù hợp với mẫu tìm kiếm được chỉ định và tìm kiếm các thư mục con theo tùy chọn.
Trong ví dụ dưới đây, * khớp với 0 hoặc nhiều ký tự ở vị trí đó.
SearchOption TopDirectoryOnly. Chỉ tìm kiếm các thư mục hàng đầu
SearchOption AllDirectories. Tìm kiếm tất cả các thư mục trên cùng và thư mục con
FileInfo lấy thông tin tệp như Độ dài, tên
Ví dụ 1
static void Main (string[] args) { string rootPath = @"C:\Users\Koushik\Desktop\TestFolder"; var files = Directory.GetFiles(rootPath, "*.*", SearchOption.AllDirectories); foreach (string file in files) { Console.WriteLine(file); } Console.ReadLine (); }
Đầu ra
C:\Users\Koushik\Desktop\TestFolder\TestFolderMain\TestFolderMain.txt C:\Users\Koushik\Desktop\TestFolder\TestFolderMain 1\TestFolderMain1.txt C:\Users\Koushik\Desktop\TestFolder\TestFolderMain 2\TestFolderMain2.txt C:\Users\Koushik\Desktop\TestFolder\TestFolderMain 2\TestFolderMainSubDirectory\TestFolderSubDirectory.txt
Ví dụ 2
static void Main (string[] args) { string rootPath = @"C:\Users\Koushik\Desktop\TestFolder"; var files = Directory.GetFiles(rootPath, "*.*", SearchOption.TopDirectoryOnly); foreach (string file in files) { Console.WriteLine(file); } Console.ReadLine (); }
Đầu ra
C:\Users\Koushik\Desktop\TestFolder\Topdirectory.txt
Ví dụ 3
static void Main (string[] args) { string rootPath = @"C:\Users\Koushik\Desktop\TestFolder"; var files = Directory.GetFiles(rootPath, "*.*", SearchOption.AllDirectories); foreach (string file in files) { var info = new FileInfo(file); Console.WriteLine($"{ Path.GetFileName(file) }: { info.Length } bytes"); } Console.ReadLine (); }
Đầu ra
Topdirectory.txt: 0 bytes TestFolderMain.txt: 0 bytes TestFolderMain1.txt: 10 bytes TestFolderMain2.txt: 20 bytes