Computer >> Máy Tính >  >> Lập trình >> C#

Làm cách nào để tôi có được kích thước tệp có thể đọc được bằng chữ viết tắt byte bằng cách sử dụng C #?

Để 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