FileStream.CanRead プロパティ


現在のストリームが読み込みをサポートしているかどうかを示す値を取得します。Gets a value that indicates whether the current stream supports reading.

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


ストリームが読み取りをサポートしている場合は true。ストリームが閉じているか、書き込み専用アクセスで開かれた場合は falsetrue if the stream supports reading; false if the stream is closed or was opened with write-only access.

次の例は、CanRead プロパティの使用方法を示しています。The following example demonstrates a use of the CanRead property. このコードの出力は "Myfile.txt は書き込み可能ではありません" です。The output of this code is "MyFile.txt is not writable." 出力メッセージを取得するには、"Myfile.txt の書き込みと読み取りの両方を行うことができます。" では、FileAccess パラメーターを FileStream コンストラクターの ReadWrite に変更します。To get the output message "MyFile.txt can be both written to and read from.", change the FileAccess parameter to ReadWrite in the FileStream constructor.

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." );
      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.")
            If fs.CanRead Then
                Console.WriteLine("MyFile.txt is not writable.")
            End If
        End If
    End Sub
End Class


Stream から派生したクラスが読み取りをサポートしていない場合、ReadReadByte、および BeginRead の各メソッドの呼び出しでは、NotSupportedExceptionがスローされます。If a class derived from Stream does not support reading, calls to the Read, ReadByte, and BeginRead methods throw a NotSupportedException.

ストリームが閉じている場合、このプロパティは falseを返します。If the stream is closed, this property returns false.