FileStream.CanRead 属性

定义

获取一个值,该值指示当前流是否支持读取。

public:
 virtual property bool CanRead { bool get(); };
public override bool CanRead { get; }
member this.CanRead : bool
Public Overrides ReadOnly Property CanRead As Boolean

属性值

Boolean

如果流支持读取,则为 true;如果流已关闭或是通过只写访问方式打开的,则为 false

示例

下面的示例演示如何使用 CanRead 属性。 此代码的输出为"MyFile.txt不可写"。 若要获取输出消息"MyFile.txt写入和读取数据。",请更改构造函数 FileAccess ReadWrite 中的 FileStream 参数。

using namespace System;
using namespace System::IO;
int main( void )
{
   FileStream^ fs = gcnew FileStream( "MyFile.txt",FileMode::OpenOrCreate,FileAccess::Read );
   if ( fs->CanRead && fs->CanWrite )
   {
      Console::WriteLine( "MyFile.txt can be both written to and read from." );
   }
   else
   {
      Console::WriteLine( "MyFile.txt is not writable" );
   }

   return 0;
}
using System;
using System.IO;

class TestRW
{
    public static void Main(String[] args)
    {
        FileStream fs = new FileStream("MyFile.txt", FileMode.OpenOrCreate, FileAccess.Read);
        if (fs.CanRead && fs.CanWrite)
        {
            Console.WriteLine("MyFile.txt can be both written to and read from.");
        }
        else if (fs.CanRead)
        {
            Console.WriteLine("MyFile.txt is not writable.");
        }
    }
}
Imports System.IO

Class TestRW

    Public Shared Sub Main()
        Dim fs As New FileStream("MyFile.txt", FileMode.OpenOrCreate, FileAccess.Read)
        If fs.CanRead And fs.CanWrite Then
            Console.WriteLine("MyFile.txt can be both written to and read from.")
        Else
            If fs.CanRead Then
                Console.WriteLine("MyFile.txt is not writable.")
            End If
        End If
    End Sub
End Class

注解

如果派生自 的类 Stream 不支持读取,则对 、 Read ReadByteBeginRead 方法的调用将引发 NotSupportedException

如果流已关闭,则此属性返回 false

适用于

另请参阅