FileStream.CanWrite Özellik

Tanım

Geçerli akışın yazmayı destekleyip desteklemediğini belirten bir değer alır.

public override bool CanWrite { get; }

Özellik Değeri

true akış yazmayı destekliyorsa; false akış kapalıysa veya salt okunur erişimle açıldıysa.

Örnekler

Aşağıdaki örnek, bir akışın CanWrite yazmayı destekleyip desteklemediğini denetlemek için özelliğini kullanır.

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

Aşağıda özelliğini kullanan bir örnek verilmiştir CanWrite . Bu kodun çıkışı "MyFile.txt yazılabilir"dir. "MyFile.txt hem yazılabilir hem de buradan okunabilir" çıkış iletisini almak için, oluşturucuda FileStream parametresini olarak ReadWrite değiştirinFileAccess.

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

Açıklamalar

öğesinden Stream türetilen bir sınıf yazmayı desteklemiyorsa, , Write, BeginWriteveya WriteByte çağrısı SetLengtholuştururNotSupportedException.

Akış kapatılırsa, bu özellik döndürür false.

Şunlara uygulanır

Ürün Sürümler
.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

Ayrıca bkz.