当前位置: 移动技术网 > IT编程>开发语言>c# > C#实现获取磁盘空间大小的方法

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

2019年07月18日  | 移动技术网IT编程  | 我要评论
本文实例讲述了c#实现获取磁盘空间大小的方法。分享给大家供大家参考。具体实现方法如下: 方法一:利用system.io.driveinfo.getdrives方法来获取

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

方法一:利用system.io.driveinfo.getdrives方法来获取

复制代码 代码如下:
///  
/// 获取指定驱动器的空间总大小(单位为b)
///  
///  只需输入代表驱动器的字母即可 (大写)
///   
public static long getharddiskspace(string str_harddiskname)
{
    long totalsize= new long();
    str_harddiskname=str_harddiskname +":\\";
    system.io.driveinfo[] drives = system.io.driveinfo.getdrives();
    foreach (system.io.driveinfo drive in drives)
    {
 if (drive.name == str_harddiskname)
 {
     totalsize = drive.totalsize / (1024 * 1024 * 1024);
 }
    }
    return totalsize;
}

///  
/// 获取指定驱动器的剩余空间总大小(单位为b)
///  
///  只需输入代表驱动器的字母即可 
///   
public static long getharddiskfreespace(string str_harddiskname)
{
    long freespace = new long();
    str_harddiskname = str_harddiskname + ":\\";
    system.io.driveinfo[] drives = system.io.driveinfo.getdrives();
    foreach (system.io.driveinfo drive in drives)
    {
 if (drive.name == str_harddiskname)
 {
     freespace = drive.totalfreespace / (1024 * 1024 * 1024);
 }
    }
    return freespace;
}


方法二:利用managementclass("win32_logicaldisk")来获取
复制代码 代码如下:
list<dictionary<string, string>> diskinfodic = new list<dictionary<string, string>>();
managementclass diskclass = new managementclass("win32_logicaldisk");
managementobjectcollection disks = diskclass.getinstances();
foreach(managementobject disk in disks)
{
 dictionary<string, string> diskinfo = new dictionary<string, string>();
 try
 {
     // 磁盘名称
     diskinfo["name"] =disk["name"].tostring();
     // 磁盘描述
     diskinfo["description"]=disk["description"].tostring();
     // 磁盘总容量,可用空间,已用空间
     if (system.convert.toint64(disk["size"]) > 0)
     {
  long totalspace = system.convert.toint64(disk["size"]) / mb;
  long freespace = system.convert.toint64(disk["freespace"]) / mb;
  long usedspace = totalspace - freespace;
       diskinfo["totalspace"]=totalspace.tostring();
  diskinfo["usedspace"]=usedspace.tostring();
  diskinfo["freespace"]=freespace.tostring();
     }
     diskinfodic.add(diskinfo);
 }
 catch(exception ex)
 {
     throw ex;
 }
}

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

如您对本文有疑问或者有任何想说的,请 点击进行留言回复,万千网友为您解惑!

相关文章:

验证码:
移动技术网