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

本文实例讲述了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#程序设计有所帮助。

(0)

相关推荐

  • 磁盘配额的wmi版本(C#)

    using System;  using System.Management;  namespace DiskQuota  {       /// <summary>       /// Class1 的摘要说明.       /// </summary>       class Class1       {           /// <summary>           /// 应用程序的主入口点.           /// </summary> 

  • C#采用FileSystemWatcher实现监视磁盘文件变更的方法

    本文实例讲述了C#采用FileSystemWatcher实现监视磁盘文件变更的方法.分享给大家供大家参考.具体实现方法如下: 简化需求:有一个简化了的需求是这样的:有一个拍照程序在运行,一旦抓拍之后则将图片文件存储至某目录,然后图片要上传至远程服务器并update数据库. 原需求:原先的需求是这样的:有一台PDA扫码枪,一个IP照相机放置在下线区传送带上方.当PDA扫描箱子上的条码,触发相机拍照,将图片流传至远端服务器,找到对应的条码,将图片存储并更新数据库. 然而我不知道PDA扫描的瞬间如何与

  • c#判断磁盘驱动器类型的两种方法介绍

    1.使用WINDOWS API 复制代码 代码如下: /// <summary> /// 判断一个磁盘驱动器的类型 /// </summary> /// <param name="nDrive">包含了驱动器根目录路径的一个字串</param> /// <returns>Long,如驱动器不能识别,则返回零.如指定的目录不存在,则返回1.如执行成功,则用下述任何一个常数指定驱动器类型:DRIVE_REMOVABLE, DRIV

  • C#检查远程或本地磁盘使用率

    因为公司有多个服务器,要检查磁盘的使用情况确定程序放哪个服务器和清理垃圾,所以写个小程序帮忙检查. 效果图: 后台代码: private void btnCheck_Click(object sender, EventArgs e) { listBox1.Items.Clear(); if (rbtnRemote.Checked) { //远程 RemoteDisk(); } else { //本地 LocalDisk(); } } //查看本地 private void LocalDisk()

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

    本文实例讲述了C#实现获取磁盘空间大小的方法.分享给大家供大家参考.具体实现方法如下: 方法一:利用System.IO.DriveInfo.GetDrives方法来获取 复制代码 代码如下: ///   /// 获取指定驱动器的空间总大小(单位为B) ///   ///  只需输入代表驱动器的字母即可 (大写) ///    public static long GetHardDiskSpace(string str_HardDiskName) {     long totalSize= new

  • Delphi实现获取磁盘空间大小的方法

    本文所述Delphi实例用以获取指定的磁盘空间容量大小,检测磁盘大小,从combox中选择磁盘代号等功能.点击"检测驱动器"容量信息的按钮,就可以在下边显示出该磁盘的总空间大小以及要用容量的大小.读者可根据需求添加对应的Button与label控件. 主要程序代码如下所示: unit Unit1; interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtr

  • SQL Server获取磁盘空间使用情况

    对于DBA来说,监控磁盘使用情况是必要的工作,然后没有比较简单的方法能获取到磁盘空间使用率信息,下面总结下这些年攒下的脚本: 最常用的查看磁盘剩余空间,这个属于DBA入门必记的东西: -- 查看磁盘可用空间 EXEC master.dbo.xp_fixeddrives xp_fixeddrives方式有点是系统自带,可直接使用,缺点是不能查看磁盘总大小和不能查看SQL Server未使用到的磁盘信息 使用sys.dm_os_volume_stats函数 --===================

  • fedora 23 lvm2格式 根目录磁盘空间不足 扩容方法

    成功将根目录从20G扩容到47G,记录一下步骤: 格式是lvm2 $ df -lh Filesystem               Size  Used Avail Use% Mounted on devtmpfs                 5.7G     0  5.7G   0% /dev tmpfs                    5.7G   26M  5.7G   1% /dev/shm tmpfs                    5.7G  1.5M  5.7G 

  • Android检测手机中存储卡及剩余空间大小的方法(基于Environment,StatFs及DecimalFormat)

    本文实例讲述了Android检测手机中存储卡及剩余空间大小的方法.分享给大家供大家参考,具体如下: Android中Environment可用来检测手机中是否安装有存储卡以及文件存储路径等.StatFs可以获取存储卡的空间大小以及剩余空间大小.DecimalFormat可以实现把数字划分为一定的格式. 具体程序如下: import java.io.File; import java.text.DecimalFormat; import android.app.Activity; import a

  • Java获取磁盘空间的两种代码示例

    本文分享了两段获取磁盘空间的代码,参考下. 代码1: import java.io.File; public class DiskSpaceDetail { public static void main(String[] args) { File diskPartition = new File("C:"); long totalCapacity = diskPartition.getTotalSpace(); long freePartitionSpace = diskPartit

  • MySQL中查询所有数据库占用磁盘空间大小和单个库中所有表的大小的sql语句

    查询所有数据库占用磁盘空间大小的SQL语句: 复制代码 代码如下: select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2),' MB') as data_size,concat(truncate(sum(index_length)/1024/1024,2),'MB') as index_sizefrom information_schema.tablesgroup by TABLE_SCHEMAorder by dat

  • Oracle修改表空间大小的方法

    本文讲述了Oracle修改表空间大小的方法.分享给大家供大家参考,具体如下: 1)查看各表空间分配情况 SQL> select tablespace_name, sum(bytes) / 1024 / 1024 from dba_data_files group by tablespace_name; TABLESPACE_NAME SUM(BYTES)/1024/1024 ------------------------------ -------------------- UNDOTBS1

  • linux 查看磁盘空间大小命令

    Ubuntu 查看文件以及磁盘空间大小管理 (1)查看文件大小 查看当前文件夹下所有文件大小(包括子文件夹) du -sh # du -h 15M ./package 16K ./.fontconfig 4.0K ./.cache 5.1M ./.rpmdb 20M . 查看指定文件夹下所有文件大小(包括子文件夹) # du -h ftp 3.8G ftp/sanya/doc 3.8G ftp/sanya 4.0K ftp/testftp/doc 1.4M ftp/testftp 875M ft

  • C#实现获取文件夹大小的方法

    本文实例讲述了C#实现获取文件夹大小的方法.分享给大家供大家参考.具体如下: 当然了,首先都需要引入System.IO这个命名空间 第一个方法: public static long GetDirectoryLength(string dirPath) { //判断给定的路径是否存在,如果不存在则退出 if (!Directory.Exists(dirPath)) return 0; long len = 0; //定义一个DirectoryInfo对象 DirectoryInfo di = n

随机推荐