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