This documentation is archived and is not being maintained.

Stream.CanWrite Property

When overridden in a derived class, gets a value indicating whether the current stream supports writing.

Namespace: System.IO
Assembly: mscorlib (in mscorlib.dll)

'Declaration
Public MustOverride ReadOnly Property CanWrite As Boolean
'Usage
Dim instance As Stream
Dim value As Boolean

value = instance.CanWrite

/** @property */
public abstract boolean get_CanWrite ()

public abstract function get CanWrite () : boolean

Not applicable.

Property Value

true if the stream supports writing; otherwise, false.

For an example of creating a file and writing text to a file, see Writing Text to a File. For an example of reading text from a file, see Reading Text from a File. For an example of reading from and writing to a binary file, see Reading and Writing to a Newly Created Data File.

If a class derived from Stream does not support writing, a call to Write, BeginWrite, or WriteByte throws a NotSupportedException.

If the stream is closed, this property returns false.

The following is an example of using the CanWrite property.

Imports System
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.")
        Else
            If fs.CanWrite Then
                Console.WriteLine("MyFile.txt is writable.")
            End If
        End If
    End Sub
End Class

'This code outputs "MyFile.txt is writable."
'To get the output message "MyFile.txt can be both written to and read from.",
'change the FileAccess parameter to ReadWrite in the FileStream constructor.

import System.*;
import System.IO.*;

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

//This code outputs "MyFile.txt is writable."
//To get the output message "MyFile.txt can be both written to and read from.",
//change the FileAccess parameter to ReadWrite in the FileStream constructor.

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

XNA Framework

Supported in: 1.0
Show: