DriveInfo Class:
Developers and programmers have to handle with the file system in their normal programming practice. Which includes accessing drives, folders, and files for operation. System.IO namespace in .NET Framework provides many classes to work with the file system. One of the classes is DriveInfo class.
Use DriveInfo to determine what drives are available, and what type of drives they are. You can also query to determine the capacity and available free space on the drive. We use this class to get information about computers system. This class provides some methods and properties to Query for drive information.
Following are some Commonly Used Properties of the DriveInfo Class.
Properties | Description |
---|---|
AvailableFreeSpace | Indicates the amount of available free space on a drive, in bytes. |
DriveFormat | Gets the name of the file system, such as NTFS or FAT32. |
DriveType | Gets the drive type, such as CD-ROM, removable, network, or fixed. |
IsReady | Gets a value that indicates whether a drive is ready. |
Name | Gets the name of a drive, such as C:\. |
RootDirectory | Gets the root directory of a drive. |
TotalFreeSpace | Gets the total amount of free space available on a drive, in bytes. |
TotalSize | Gets the total size of storage space on a drive, in bytes. |
VolumeLabel | Gets or sets the volume label of a drive. |
Following are some Commonly Used Methods of the DriveInfo Class.
Methods | Description |
---|---|
Equals(Object) | Determines whether the specified object is equal to the current object. |
GetDrives() | Retrieves the drive names of all logical drives on a computer. |
GetHashCode() | Serves as the default hash function. |
GetType() | Gets the Type of the current instance. |
ToString() | Returns a drive name as a string. |
The following code example demonstrates the use of the DriveInfo class to display information about all of the drives on the current system.
/*Example - DriveInfo Class - InfoBrother*/
using System;
using System.IO;
class DriveinfoClass
{
public static void Main()
{
DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach (DriveInfo d in allDrives)
{
Console.WriteLine("Drive {0}", d.Name);
Console.WriteLine(" Drive type: {0}", d.DriveType);
if (d.IsReady == true)
{
Console.WriteLine(" Volume label: {0}", d.VolumeLabel);
Console.WriteLine(" File system: {0}", d.DriveFormat);
Console.WriteLine(
" Available space to current user:{0, 15} bytes",
d.AvailableFreeSpace);
Console.WriteLine(
" Total available space: {0, 15} bytes",
d.TotalFreeSpace);
Console.WriteLine(
" Total size of drive: {0, 15} bytes ",
d.TotalSize);
Console.ReadKey();
}
}
}
}
DriveInfo Class:
//The result will be something similar to the following. Drive C:\ Drive type: Fixed Volume label: File system: NTFS Available space to current user: 142578290688 bytes Total available space: 142578290688 bytes Total size of drive: 213681958912 bytes Drive D:\ Drive type: Fixed Volume label: File system: NTFS Available space to current user: 31930658816 bytes Total available space: 31930658816 bytes Total size of drive: 107374178304 bytes Drive E:\ Drive type: CDRom Drive F:\ Drive type: Removable
“
The actual output of this code will vary based on machine and the permissions granted to the user executing it.