Mega Code Archive

 
Categories / C# / File Stream
 

Check drive free space

//http://bbinjest.codeplex.com/ //Apache License 2.0 (Apache) using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.IO; using System.Globalization; namespace BneyBaruch.Ingest.Utils.FileSystem {     public static class DriveUtil     {         /// <summary>         ///     Check drive free space.         /// </summary>         /// <param name="driveName">Drive name to check free space.</param>         /// <param name="minimumSpace">Minimum space in bytes.</param>         /// <returns></returns>         public static bool IsEnoughSpace(string driveName, long minimumSpace)         {             if (string.IsNullOrEmpty(driveName))                 throw new ArgumentNullException("driveName");             string formattedDriveName = driveName + @":\";             DriveInfo[] drives = DriveInfo.GetDrives();             DriveInfo drive = drives.FirstOrDefault(                 delegate(DriveInfo innerDrive)                 {                     return string.Compare(innerDrive.Name, formattedDriveName, true) == 0;                 }             );             if (drive == null)                 throw new DriveNotFoundException(string.Format("Drive {0} could not be found.", formattedDriveName));             if( !drive.IsReady)                 throw new DriveNotFoundException(string.Format("Drive {0} is not ready.", formattedDriveName));             return drive.TotalFreeSpace > minimumSpace;         }    } }