zoukankan      html  css  js  c++  java
  • 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;
    				}
    			}
    

    更多IT相关资讯与技术文章,欢迎光临我的个人网站:http://www.zuowenjun.cn/

  • 相关阅读:
    20201029-1 每周例行报告
    20201022-1 每周例行报告
    2020年秋软件工程“领跑衫”获奖感言
    20201015-3 每周例行报告
    20201207-总结
    20201126-1 每周例行报告
    20201120-1 每周例行报告
    20201112-1 每周例行报告
    20201105-1 每周例行报告
    20201022-1 每周例行报告
  • 原文地址:https://www.cnblogs.com/zuowj/p/4173457.html
Copyright © 2011-2022 走看看