zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C#实现获取磁盘空间大小的方法

c#方法 实现 获取 大小 磁盘空间
2023-06-13 09:15:37 时间

本文实例讲述了C#实现获取磁盘空间大小的方法。分享给大家供大家参考。具体实现方法如下:

方法一:利用System.IO.DriveInfo.GetDrives方法来获取

复制代码代码如下:

///  
///获取指定驱动器的空间总大小(单位为B)
///  
/// 只需输入代表驱动器的字母即可(大写)
///   
publicstaticlongGetHardDiskSpace(stringstr_HardDiskName)
{
   longtotalSize=newlong();
   str_HardDiskName=str_HardDiskName+":\\";
   System.IO.DriveInfo[]drives=System.IO.DriveInfo.GetDrives();
   foreach(System.IO.DriveInfodriveindrives)
   {
 if(drive.Name==str_HardDiskName)
 {
    totalSize=drive.TotalSize/(1024*1024*1024);
 }
   }
   returntotalSize;
}

///  
///获取指定驱动器的剩余空间总大小(单位为B)
///  
/// 只需输入代表驱动器的字母即可 
///   
publicstaticlongGetHardDiskFreeSpace(stringstr_HardDiskName)
{
   longfreeSpace=newlong();
   str_HardDiskName=str_HardDiskName+":\\";
   System.IO.DriveInfo[]drives=System.IO.DriveInfo.GetDrives();
   foreach(System.IO.DriveInfodriveindrives)
   {
 if(drive.Name==str_HardDiskName)
 {
    freeSpace=drive.TotalFreeSpace/(1024*1024*1024);
 }
   }
   returnfreeSpace;
}


方法二:利用ManagementClass("Win32_LogicalDisk")来获取
复制代码代码如下:
List<Dictionary<string,string>>diskInfoDic=newList<Dictionary<string,string>>();
ManagementClassdiskClass=newManagementClass("Win32_LogicalDisk");
ManagementObjectCollectiondisks=diskClass.GetInstances();
foreach(ManagementObjectdiskindisks)
{
 Dictionary<string,string>diskInfo=newDictionary<string,string>();
 try
 {
    //磁盘名称
    diskInfo["Name"]=disk["Name"].ToString();
    //磁盘描述
    diskInfo["Description"]=disk["Description"].ToString();
    //磁盘总容量,可用空间,已用空间
    if(System.Convert.ToInt64(disk["Size"])>0)
    {
  longtotalSpace=System.Convert.ToInt64(disk["Size"])/MB;
  longfreeSpace=System.Convert.ToInt64(disk["FreeSpace"])/MB;
  longusedSpace=totalSpace-freeSpace;
      diskInfo["totalSpace"]=totalSpace.ToString();
  diskInfo["usedSpace"]=usedSpace.ToString();
  diskInfo["freeSpace"]=freeSpace.ToString();
    }
    diskInfoDic.Add(diskInfo);
 }
 catch(Exceptionex)
 {
    Throwex;
 }
}

希望本文所述对大家的C#程序设计有所帮助。