网站地图    收藏    合作   
<

快捷菜单 返回顶部

查看计算机驱动器信息主要包括查看磁盘的空间、磁盘的文件格式、磁盘的卷标等,在 C# 语言中这些操作可以通过 Driveinfo 类来实现。

Driveinfo 类是一个密封类,即不能被继承,其仅提供了一个构造方法,语法形式如下。

Driveinfo(string driveName)

其中,dirveName 参数是指有效驱动器路径或驱动器号,Null 值是无效的。

创建 Driveinfo 类的实例的代码如下。
Driveinfo driveInfo=new Driveinfo("C");
上面的代码创建了磁盘的盘符是 C 的驱动器实例,通过该实例能获取该盘符下的信息, 包括磁盘的名称、磁盘的格式等。

Driveinfo 类中的常用属和方法如下表所示。

属性或方法 作用
AvailableFreeSpace 只读属性,获取驱动器上的可用空闲空间量 (以字节为单位)
DriveFormat 只读属性,获取文件系统格式的名称,例如 NTFS 或 FAT32
DriveType 只读属性,获取驱动器的类型,例如 CD-ROM、可移动驱动器、网络驱动器或固定驱动器
IsReady 只读属性,获取一个指示驱动器是否已准备好的值,True 为准备好了, False 为未准备好
Name 只读属性,获取驱动器的名称,例如 C:\
RootDirectory 只读属性,获取驱动器的根目录
TotalFreeSpace 只读属性,获取驱动器上的可用空闲空间总量 (以字节为单位)
TotalSize 只读属性,获取驱动器上存储空间的总大小 (以字节为单位)
VolumeLabel 属性, 获取或设置驱动器的卷标
Driveinfo[] GetDrives() 静态方法,检索计算机上所有逻辑驱动器的驱动器名称

下面通过实例来演示 Driveinfo 类的使用。

【实例 1】获取 D 盘中的驱动器类型、名称、文件系统名称、可用空间以及总空间大小。

根据题目要求,代码如下。
class Program
{
    static void Main(string[] args)
    {
        DriveInfo driveInfo = new DriveInfo("D");
        Console.WriteLine("驱动器的名称:" + driveInfo.Name);
        Console.WriteLine("驱动器类型:" + driveInfo.DriveType);
        Console.WriteLine("驱动器的文件格式:" + driveInfo.DriveFormat);
        Console.WriteLine("驱动器中可用空间大小:" + driveInfo.TotalFreeSpace);
        Console.WriteLine("驱动器总大小:" + driveInfo.TotalSize);
    }
}
执行上面的代码,效果如下图所示。


驱动器类型中的 Fixed 值代表的本地磁盘、驱动器中可用空间的大小和总大小的单位是字节 (B)。

如果需要对空间大小的单位进行转换,按照规则进行运算即可,即 1KB=1024B,1MB=1024KB,1GB=1024MB。

【实例 2】获取计算机中所有驱动器的名称和文件格式。

根据题目要求,需要使用 GetDrives 方法获取所有驱动器,代码如下。
class Program
{
    static void Main(string[] args)
    {
        DriveInfo[] driveInfo = DriveInfo.GetDrives();
        foreach(DriveInfo d in driveInfo)
        {
            if (d.IsReady)
            {
                Console.WriteLine("驱动器名称:" + d.Name);
                Console.WriteLine("驱动器的文件格式" + d.DriveFormat);
            }
        }
    }
}
执行上面的代码,效果如下图所示。


从上面的执行效果可以看出,在当前计算机中共有 2 个可用磁盘,文件格式都是NTFS。

自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习

京ICP备14009008号@版权所有www.zixuephp.com

网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com