FileStream.CanWrite Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Geçerli akışın yazmayı destekleyip desteklemediğini belirten bir değer alır.
public:
virtual property bool CanWrite { bool get(); };
public override bool CanWrite { get; }
member this.CanWrite : bool
Public Overrides ReadOnly Property CanWrite As Boolean
Ö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 namespace System;
using namespace System::IO;
using namespace System::Text;
int main()
{
String^ path = "c:\\temp\\MyTest.txt";
// Ensure that the file is readonly.
File::SetAttributes( path, static_cast<FileAttributes>(File::GetAttributes( path ) | FileAttributes::ReadOnly) );
//Create the file.
FileStream^ fs = gcnew FileStream( path,FileMode::OpenOrCreate,FileAccess::Read );
try
{
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 );
}
}
finally
{
if ( fs )
delete (IDisposable^)fs;
}
}
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);
}
}
}
}
open System.IO
let path = @"c:\temp\MyTest.txt"
// Ensure that the file is readonly.
File.SetAttributes(path, File.GetAttributes path ||| FileAttributes.ReadOnly)
//Create the file.
do
use fs = new FileStream(path, FileMode.OpenOrCreate, FileAccess.Read)
if fs.CanWrite then
printfn $"The stream for file {path} is writable."
else
printfn $"The stream for file {path} is not writable."
Imports System.IO
Public Class Test
Public Shared Sub Main()
Dim path As String = "c:\temp\MyTest.txt"
'Ensure that the file is readonly.
File.SetAttributes(path, File.GetAttributes(path) Or FileAttributes.ReadOnly)
'Create the file.
Dim fs As FileStream = New FileStream(path, FileMode.OpenOrCreate, FileAccess.Read)
If fs.CanWrite Then
Console.WriteLine("The stream connected to {0} is writable.", path)
Else
Console.WriteLine("The stream connected to {0} is not writable.", path)
End If
fs.Close()
End Sub
End Class
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 namespace System;
using namespace System::IO;
int main( void )
{
FileStream^ fs = gcnew 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
{
Console::WriteLine( "MyFile.txt is 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.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.");
}
}
}
open System.IO
let fs = new FileStream("MyFile.txt", FileMode.OpenOrCreate, FileAccess.Write)
if fs.CanRead && fs.CanWrite then
printfn "MyFile.txt can be both written to and read from."
elif fs.CanWrite then
printfn "MyFile.txt is writable."
Imports System.IO
Class TestRW
Public Shared Sub Main()
Dim fs As New FileStream("MyFile.txt", FileMode.OpenOrCreate, FileAccess.Write)
If fs.CanRead And fs.CanWrite Then
Console.WriteLine("MyFile.txt can be both written to and read from.")
ElseIf fs.CanWrite Then
Console.WriteLine("MyFile.txt is writable.")
End If
End Sub
End Class
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
.