Here are the examples of the csharp api SuperGrate.IO.FileOperations.GetFolderSize(System.IO.DirectoryInfo) taken from open source projects. By voting up you can indicate which examples are most useful and appropriate.
2 Examples
19
Source : FileOperations.cs
with GNU General Public License v3.0
from belowaverage-org
with GNU General Public License v3.0
from belowaverage-org
public static Task<double> GetFolderSize(string Directory)
{
return GetFolderSize(new DirectoryInfo(Directory));
}
19
Source : FileOperations.cs
with GNU General Public License v3.0
from belowaverage-org
with GNU General Public License v3.0
from belowaverage-org
public static Task<double> GetFolderSize(DirectoryInfo Directory)
{
return Task.Run(() => {
if (Main.Canceled) return 0;
double folderSize = 0;
if (Directory.Attributes.HasFlag(FileAttributes.ReparsePoint)) return 0;
try
{
List<Task> childTasks = new List<Task>();
foreach (DirectoryInfo subDir in Directory.EnumerateDirectories())
{
if (Main.Canceled) return 0;
childTasks.Add(GetFolderSize(subDir));
}
foreach (FileInfo file in Directory.EnumerateFiles())
{
if (Main.Canceled) return 0;
folderSize += file.Length;
}
Task.WaitAll(childTasks.ToArray());
foreach (Task<double> childTask in childTasks)
{
folderSize += childTask.Result;
}
return folderSize;
}
catch (Exception e)
{
Logger.Exception(e, "Failed to get folder size!");
return 0;
}
});
}