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

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


FileStream.CanWrite Свойство

Определение

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

public override bool CanWrite { get; }

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

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

Примеры

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

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 .

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.

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

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