DriveInfo.IsReady 属性
定义
获取一个指示驱动器是否已准备好的值。Gets a value that indicates whether a drive is ready.
public:
property bool IsReady { bool get(); };
public bool IsReady { get; }
member this.IsReady : bool
Public ReadOnly Property IsReady As Boolean
属性值
如果驱动器已准备好,则为 true;如果驱动器未准备好,则为 false。true if the drive is ready; false if the drive is not ready.
示例
下面的代码示例演示如何使用 DriveInfo 类显示有关当前系统上所有驱动器的信息。The following code example demonstrates the use of the DriveInfo class to display information about all of the drives on the current system.
using System;
using System.IO;
class Test
{
public static void Main()
{
DriveInfo[] allDrives = DriveInfo.GetDrives();
foreach (DriveInfo d in allDrives)
{
Console.WriteLine("Drive {0}", d.Name);
Console.WriteLine(" Drive type: {0}", d.DriveType);
if (d.IsReady == true)
{
Console.WriteLine(" Volume label: {0}", d.VolumeLabel);
Console.WriteLine(" File system: {0}", d.DriveFormat);
Console.WriteLine(
" Available space to current user:{0, 15} bytes",
d.AvailableFreeSpace);
Console.WriteLine(
" Total available space: {0, 15} bytes",
d.TotalFreeSpace);
Console.WriteLine(
" Total size of drive: {0, 15} bytes ",
d.TotalSize);
}
}
}
}
/*
This code produces output similar to the following:
Drive A:\
Drive type: Removable
Drive C:\
Drive type: Fixed
Volume label:
File system: FAT32
Available space to current user: 4770430976 bytes
Total available space: 4770430976 bytes
Total size of drive: 10731683840 bytes
Drive D:\
Drive type: Fixed
Volume label:
File system: NTFS
Available space to current user: 15114977280 bytes
Total available space: 15114977280 bytes
Total size of drive: 25958948864 bytes
Drive E:\
Drive type: CDRom
The actual output of this code will vary based on machine and the permissions
granted to the user executing it.
*/
Imports System.IO
Class Test
Public Shared Sub Main()
Dim allDrives() As DriveInfo = DriveInfo.GetDrives()
Dim d As DriveInfo
For Each d In allDrives
Console.WriteLine("Drive {0}", d.Name)
Console.WriteLine(" Drive type: {0}", d.DriveType)
If d.IsReady = True Then
Console.WriteLine(" Volume label: {0}", d.VolumeLabel)
Console.WriteLine(" File system: {0}", d.DriveFormat)
Console.WriteLine( _
" Available space to current user:{0, 15} bytes", _
d.AvailableFreeSpace)
Console.WriteLine( _
" Total available space: {0, 15} bytes", _
d.TotalFreeSpace)
Console.WriteLine( _
" Total size of drive: {0, 15} bytes ", _
d.TotalSize)
End If
Next
End Sub
End Class
'This code produces output similar to the following:
'
'Drive A:\
' Drive type: Removable
'Drive C:\
' Drive type: Fixed
' Volume label:
' File system: FAT32
' Available space to current user: 4770430976 bytes
' Total available space: 4770430976 bytes
' Total size of drive: 10731683840 bytes
'Drive D:\
' Drive type: Fixed
' Volume label:
' File system: NTFS
' Available space to current user: 15114977280 bytes
' Total available space: 15114977280 bytes
' Total size of drive: 25958948864 bytes
'Drive E:\
' Drive type: CDRom
'
'The actual output of this code will vary based on machine and the permissions
'granted to the user executing it.
注解
IsReady 指示驱动器是否已准备就绪。IsReady indicates whether a drive is ready. 例如,它指示 CD 是否在 CD 驱动器中,或者可移动存储设备是否准备好进行读/写操作。For example, it indicates whether a CD is in a CD drive or whether a removable storage device is ready for read/write operations. 如果未测试驱动器是否已准备就绪,并且该驱动器未准备就绪,则使用查询驱动器 DriveInfo 将引发 IOException 。If you do not test whether a drive is ready, and it is not ready, querying the drive using DriveInfo will raise an IOException.
不要依赖 IsReady 于避免从其他成员(如、和)捕获 TotalSize 异常 TotalFreeSpace DriveFormat 。Do not rely on IsReady to avoid catching exceptions from other members such as TotalSize, TotalFreeSpace, and DriveFormat. 在你的代码检查 IsReady 然后访问其他某个属性的时间之间 (即使在检查) 之后立即进行访问,也可能是驱动器已断开连接或磁盘可能已被删除。Between the time that your code checks IsReady and then accesses one of the other properties (even if the access occurs immediately after the check), a drive may have been disconnected or a disk may have been removed.