次の方法で共有


FileStream.CanRead プロパティ

現在のストリームが読み取りをサポートしているかどうかを示す値を取得します。

Overrides Public ReadOnly Property CanRead As Boolean
[C#]
public override bool CanRead {get;}
[C++]
public: __property bool get_CanRead();
[JScript]
public override function get CanRead() : Boolean;

プロパティ値

ストリームが読み取りをサポートしている場合は true 。ストリームが閉じているか、書き込み専用アクセスで開かれた場合は false

解説

Stream から派生したクラスが読み取りをサポートしていない場合に、 ReadReadByteBeginRead の各メソッドを呼び出すと、 NotSupportedException がスローされます。

ストリームが閉じている場合、このプロパティは false を返します。

使用例

CanRead プロパティを使用する例を次に示します。このコードの出力は "MyFile.txt is not writable." となります。 FileStream コンストラクタの FileAccess パラメータを ReadWrite に変更すると、"MyFile.txt can be both written to and read from." というメッセージが出力されます。

 
Imports System
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

[C#] 
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.");
        }
    }
}

[C++] 
#using <mscorlib.dll>

using namespace System;
using namespace System::IO;

int main(void)
{
    FileStream * fs = new FileStream(S"MyFile.txt", FileMode::OpenOrCreate, FileAccess::Read);
    if ( fs->CanRead && fs->CanWrite )
    {
        Console::WriteLine(S"MyFile.txt can be both written to and read from.");
    } else {
        Console::WriteLine(S"MyFile.txt is not writable");
    }
    return 0;
}

[JScript] 
import System;
import System.IO;

class TestRW 
{
  public static function Main() : void 
  {

        var fs : FileStream = 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.");
     }
  }
}
TestRW.Main();

必要条件

プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ, .NET Compact Framework - Windows CE .NET, Common Language Infrastructure (CLI) Standard

参照

FileStream クラス | FileStream メンバ | System.IO 名前空間 | 入出力操作 | ファイルからのテキストの読み取り | ファイルへのテキストの書き込み