获取磁盘容量的一种方法

    最近在网上看到了一篇关于获取磁盘容量的文章,就拿来实验了一下。经过实验,基本可以达到目的,但是相应的问题还是有,问题是,当我输入磁盘的名称时,只有输入的是大写,才可以得到正确的结果,小写就是0了。于是我重新修改了源程序,这样的话,程序不管是小写还是大写都可以得到正确值,但是有一个疑问,为什么小写时就得不到正确值呢?希望各位高手帮帮忙解决下。谢谢。

     改进的代码如下:

     /// <summary>
        /// 获取磁盘总的容量
        /// </summary>
        /// <param name="strHardDiskName">磁盘分区名称</param>
        /// <returns></returns>
        public static long GetHardDiskSpace(string strHardDiskName)
        {
            long totalSize = new long();
            strHardDiskName = strHardDiskName + ":\\";
            System.IO.DriveInfo[] drives = System.IO.DriveInfo.GetDrives();
            foreach (System.IO.DriveInfo drive  in drives)
            {
                if (drive.Name==strHardDiskName)
                {
                    totalSize = drive.TotalSize;
                }
            }
            return totalSize;
        }

        /// <summary>
        /// 获取磁盘剩余容量
        /// </summary>
        /// <param name="strHardDiskName">磁盘分区名称</param>
        /// <returns></returns>
        public static long GetHardDiskFreeSpace(string strHardDiskName)
        {
            long freeSpace = new long();
            strHardDiskName = strHardDiskName + ":\\";
            System.IO.DriveInfo[] drives = System.IO.DriveInfo.GetDrives();
            foreach (System.IO.DriveInfo drive in drives)
            {
                if (drive.Name == strHardDiskName)
                {
                    freeSpace = drive.TotalFreeSpace; ;
                }
            }
            return freeSpace;
        }

posted @ 2011-08-14 09:24  gis追梦者  阅读(536)  评论(0编辑  收藏  举报