C# Program to Calculate the Size of Folder
Posted by Superadmin on August 13 2022 08:17:02

C# Program to Calculate the Size of Folder

 

 

This is a C# Program to calculate the size of folder.

Problem Description

This C# Program Calculates the Size of Folder.

Problem Solution

Here the program calculates the size of the folder including its subfolders and hence display the size in bytes, kilobytes and MB.

Program/Source Code

Here is source code of the C# Program to Calculate the Size of Folder. The C# program is successfully compiled and executed with Microsoft Visual Studio. The program output is also shown below.

/*
 * C# Program to Calculate the Size of Folder
 */
using System;
using System.Linq;
using System.IO;
namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            DirectoryInfo dInfo = new DirectoryInfo(@"C:/sri");            
            long sizeOfDir = DirectorySize(dInfo, true);
            Console.WriteLine("Directory size in Bytes : " +
            "{0:N0} Bytes", sizeOfDir);
            Console.WriteLine("Directory size in KB : " +
            "{0:N2} KB", ((double)sizeOfDir) / 1024);
            Console.WriteLine("Directory size in MB : " +
            "{0:N2} MB", ((double)sizeOfDir) / (1024 * 1024));
            Console.ReadLine();
        }
        static long DirectorySize(DirectoryInfo dInfo, bool includeSubDir)
        {            
            long totalSize = dInfo.EnumerateFiles()
                         .Sum(file => file.Length);            
            if (includeSubDir)
            {                
                totalSize += dInfo.EnumerateDirectories()
                         .Sum(dir => DirectorySize(dir, true));
            }
            return totalSize;
        }
    }
}
Program Explanation

This C# program is used to calculate the size of folder. In DirectorySize() function the EnumerateFiles() function is used to return an enumerable collection of file names that match a search pattern in a specified path, and optionally searches subdirectories.

 

The EnumerateDirectories() function is used to return an enumerable collection of directory names in a specified path. Calculate the size of the folder including its subfolders and print the size in bytes, kilobytes and MB.

Runtime Test Cases
 
Directory Size in Bytes : 1,482 Bytes
Directory Size in KB : 1.45 KB
Directory Size in MB : 0.00 MB