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
Значение свойства
Значение 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.");
}
}
}
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
Комментарии
Если класс, производный от Stream , не поддерживает чтение, вызовы Readметодов , ReadByteи BeginRead вызывают исключение NotSupportedException.
Если поток закрыт, это свойство возвращает false
.