FileStream.CanRead Propriedade

Definição

Obtém um valor que indica se o fluxo atual dá suporte a leitura.

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

Valor da propriedade

true se o fluxo dá suporte à leitura; false se o fluxo está fechado ou foi aberto com acesso somente gravação.

Exemplos

O exemplo a seguir demonstra o uso da CanRead propriedade . A saída desse código é "MyFile.txt não é gravável". Para obter a mensagem de saída "MyFile.txt pode ser gravado e lido.", altere o FileAccess parâmetro para ReadWrite no FileStream construtor.

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.");
        }
    }
}
open System.IO

let fs = new FileStream("MyFile.txt", FileMode.OpenOrCreate, FileAccess.Read)

if fs.CanRead && fs.CanWrite then
    printfn "MyFile.txt can be both written to and read from."
else if fs.CanRead then
    printfn "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

Comentários

Se uma classe derivada de Stream não oferecer suporte à leitura, as chamadas para os Readmétodos , ReadBytee BeginRead gerarão um NotSupportedException.

Se o fluxo for fechado, essa propriedade retornará false.

Aplica-se a

Confira também