Web üzerinde takip ettiÄŸim blog’ların çoÄŸunda bir klasörün boyutunun (size) alınması için kullanılan yöntem bulunulan klasörün içerisindeki dosyaların toplam size’ının, alt klasörler içinde bulunan folder’ların içinde bulunan dosyaların toplam size’larının tek tek hesaplanması sonucu bulunan size’ın toplamı ile hesaplanıyor.
Oysa DirectoryInfo class’ının GetFiles method’una searchPattern ve searchOption parametrelerinin düzgün olarak verilmesi, GetFiles method’unun alt klasörlerdeki dosyaları otomatik olarak getirmesini saÄŸlayabiliyor.
AÅŸağıdaki kod’u bir class olarak kaydedin:
using System;
using System.IO;
namespace Sunali.SizeCalculators
{
public static class DirectorySizeHelper
{
public static long GetSize(string path)
{
long m_Size = 0;
DirectoryInfo m_DInfo = new DirectoryInfo(path);
foreach (FileInfo m_FInfo in m_DInfo.GetFiles("*", SearchOption.AllDirectories))
m_Size += m_FInfo.Length;
return m_Size;
}
}
}
Sonra da başka bir yerde şu şekilde çalıştırın:
long m_TotalSize = Sunali.SizeCalculators.DirectorySizeHelper.GetSize(@"C:\folderName");
Sonuç olarak m_TotalSize deÄŸiÅŸkeni vermiÅŸ olduÄŸunuz path içerisindeki dosyaların size’larının toplamını byte olarak verecektir.