FileStream.CanWrite Propriedade

Definição

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

public override bool CanWrite { get; }

Valor da propriedade

true se o fluxo der suporte à gravação; false se o fluxo estiver fechado ou tiver sido aberto com acesso somente leitura.

Exemplos

O exemplo a seguir usa a CanWrite propriedade para marcar se um fluxo dá suporte à gravação.

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);
            }
        }
    }
}

Veja a seguir um exemplo usando a CanWrite propriedade . A saída desse código é "MyFile.txt é 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 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.");
        }
    }
}

Comentários

Se uma classe derivada de não der Stream suporte à gravação, uma chamada para SetLength, Write, BeginWriteou WriteByte gerará um NotSupportedException.

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

Aplica-se a

Confira também