CÁC GIẢI PHÁP LẬP TRÌNH C# - Trang 358

358
Chương 9: File, thư mục, và I/O

FileInfo[] files = directory.GetFiles();

foreach (FileInfo file in files) {

totalSize += file.Length;

}

// Duyệt tất cả các thư mục con.

if (includeSubdirectories) {

DirectoryInfo[] dirs = directory.GetDirectories();

foreach (DirectoryInfo dir in dirs) {

totalSize += CalculateDirectorySize(dir, true);

}

}

return totalSize;

}

}

Và dưới đây là ứng dụng thử nghiệm phương thức trên:

using System;

using System.IO;

public class CalculateDirSize {

private static void Main(string[] args) {

if (args.Length == 0) {

Console.WriteLine("Please supply a directory path.");

return;

}

DirectoryInfo dir = new DirectoryInfo(args[0]);

Console.WriteLine("Total size: " +

FileSystemUtil.CalculateDirectorySize(dir, true).ToString() +

" bytes.");

Console.ReadLine();