Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

ฉันจะรับขนาดไฟล์ที่มนุษย์อ่านได้เป็นตัวย่อไบต์โดยใช้ C # ได้อย่างไร


ในการรับไดเร็กทอรี C# ให้เมธอด Directory.GetDirectories

Directory.GetDirectories ส่งคืนชื่อของไดเรกทอรีย่อย (รวมถึงเส้นทาง) ที่ตรงกับรูปแบบการค้นหาที่ระบุในไดเรกทอรีที่ระบุ และค้นหาไดเรกทอรีย่อยหรือไม่ก็ได้

ในการรับไฟล์ C# มีเมธอด Directory.GetFiles

Directory.GetFiles ส่งคืนชื่อไฟล์ทั้งหมด (รวมถึงพาธของไฟล์) ที่ตรงกับรูปแบบการค้นหาที่ระบุ และค้นหาไดเรกทอรีย่อยด้วยหรือไม่ก็ได้

ในการรับความยาวไฟล์ C# จะระบุความยาวคุณสมบัติ

ตัวอย่าง

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();
}

ผลลัพธ์

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