Прочитать на английском

Поделиться через


FileStream.CanWrite Свойство

Определение

Получает значение, указывающее, поддерживает ли текущий поток запись.

C#
public override bool CanWrite { get; }

Значение свойства

Значение true, если поток поддерживает операции записи; значение false, если поток закрыт или открыт только для чтения.

Примеры

В следующем примере свойство используется для CanWrite проверка, поддерживает ли поток запись.

C#
using System;
using System.IO;
using System.Text;

class Test
{
    
    public static void Main()
    {
        string path = @"c:\temp\MyTest.txt";

        // Ensure that the file is readonly.
        File.SetAttributes(path, File.GetAttributes(path) | FileAttributes.ReadOnly);

        //Create the file.
        using (FileStream fs = new FileStream (path, FileMode.OpenOrCreate, FileAccess.Read))
        {
            if (fs.CanWrite)
            {
                Console.WriteLine("The stream for file {0} is writable.", path);
            }
            else
            {
                Console.WriteLine("The stream for file {0} is not writable.", path);
            }
        }
    }
}

Ниже приведен пример использования CanWrite свойства . Выходные данные этого кода: "MyFile.txt доступно для записи". Чтобы получить выходное сообщение "MyFile.txt можно записать в и считывать из". Измените FileAccess параметр на ReadWrite в конструкторе FileStream .

C#
using System;
using System.IO;

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

Комментарии

Если класс, производный от Stream , не поддерживает запись, вызов SetLength, Write, BeginWriteили WriteByte вызывает исключение NotSupportedException.

Если поток закрыт, это свойство возвращает false.

Применяется к

Продукт Версии
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 1.1, 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.3, 1.4, 1.6, 2.0, 2.1
UWP 10.0

См. также раздел