欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-12-15 08:37:10
本文实例讲述了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#程序设计有所帮助。

上一篇:

下一篇: