PDA

View Full Version : مبتدی: محاسبه ی حجم فولدر



antisocial
دوشنبه 11 آبان 1388, 21:34 عصر
سلام
چه طور در سی شارپ میشه حجم یک فولدر رو پیدا کرد؟

nasser_ray
دوشنبه 11 آبان 1388, 22:34 عصر
سلام


public long getDirSize(System.IO.DirectoryInfo dir)
{
long size = 0;
System.IO.DirectoryInfo[] dirs = dir.GetDirectories();
System.IO.FileInfo[] files = dir.GetFiles();
foreach (System.IO.FileInfo fi in files)
size += fi.Length;
foreach (System.IO.DirectoryInfo di in dirs)
size += getDirSize(di);
return size;
}

روش استفاده


System.IO.DirectoryInfo dir = new System.IO.DirectoryInfo("C:\\tmp");
long size = getDirSize(dir);


منبع
http://www.experts-exchange.com/Programming/Languages/C_Sharp/Q_22997950.html

Mohagheghi
سه شنبه 12 آبان 1388, 10:02 صبح
محسابه حجم كلي يك دايركتوري



using System.IO;

public long CalculateDirectorySize(DirectoryInfo directory, bool includeSubdirectories)
{
long totalSize = 0;
// Examine all contained files.
FileInfo[] files = directory.GetFiles();
foreach (FileInfo file in files)
{
totalSize += file.Length;
}
// Examine all contained directories.
if (includeSubdirectories)
{
DirectoryInfo[] dirs = directory.GetDirectories();
foreach (DirectoryInfo dir in dirs)
{
totalSize += CalculateDirectorySize(dir, true);
}
}
return totalSize;
}

private void button1_Click(object sender, EventArgs e)
{
MessageBox.Show(CalculateDirectorySize(new DirectoryInfo( @"C:\WINDOWS\System32"), true).ToString());
}




يا علي