Để lấy các thư mục, C # cung cấp một phương thức Directory.GetDirectories
Directory.GetDirectories trả về tên của các thư mục con (bao gồm cả đường dẫn của chúng) khớp với mẫu tìm kiếm được chỉ định trong thư mục được chỉ định và tùy chọn tìm kiếm các thư mục con.
Để 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ùy chọn tìm kiếm các thư mục con
Để lấy độ dài tệp, C # cung cấp thuộc tính Độ dài
Ví dụ
static void Main(string[] args) { string rootPath = @"C:\Users\Koushik\Desktop\TestFolder"; var files = Directory.GetFiles(rootPath, "*.*", SearchOption.AllDirectories); foreach (string file in files) { long size = new FileInfo(file).Length / 1024; string humanKBSize = string.Format("{0} KB", size); string humanMBSize = string.Format("{0} MB", size / 1024); string humanGBSize = string.Format("{0} GB", size / 1024 / 1024); Console.WriteLine($"KB:{humanKBSize} MB:{humanMBSize} GB:{humanGBSize}"); } Console.ReadLine(); }
Đầu ra
file C:\Users\Koushik\Desktop\TestFolder\Topdirectory.txt 22 KB 0 MB 0 GB file C:\Users\Koushik\Desktop\TestFolder\TestFolderMain\TestFolderMain.txt 0 KB 2 MB 0 GB file C:\Users\Koushik\Desktop\TestFolder\TestFolderMain1\TestFolderMain1.txt 0 KB 0 MB 1 GB file C:\Users\Koushik\Desktop\TestFolder\TestFolderMain2\TestFolderMain1.txt 0 KB 0 MB 1 GB file C:\Users\Koushik\Desktop\TestFolder\TestFolderMain2\TestFolderMain2.txt 0 KB 0 MB 1 GB file C:\Users\Koushik\Desktop\TestFolder\TestFolderMain2\TestFolderMainSubDirectory\TestFolderSubDirectory.txt 0 KB 0 MB 1 GB