FileInfo.OpenWrite Methode

Definition

Erstellt einen schreibgeschützten FileStream.

public:
 System::IO::FileStream ^ OpenWrite();
public System.IO.FileStream OpenWrite();
member this.OpenWrite : unit -> System.IO.FileStream
Public Function OpenWrite () As FileStream

Gibt zurück

Ein schreibgeschütztes nicht freigegebenes FileStream Objekt für eine neue oder vorhandene Datei.

Ausnahmen

Der Pfad, der beim Erstellen einer Instanz des FileInfo Objekts angegeben wird, ist schreibgeschützt oder ein Verzeichnis.

Der pfad, der beim Erstellen einer Instanz des FileInfo Objekts angegeben wurde, ist ungültig, z. B. auf einem nicht zugeordneten Laufwerk.

Beispiele

Im folgenden Beispiel wird eine Datei zum Schreiben geöffnet und dann aus der Datei gelesen.

using System;
using System.IO;
using System.Text;

class Test
{
    public static void Main()
    {
        string path = @"c:\Temp\MyTest.txt";
        FileInfo fi = new FileInfo(path);

        // Open the stream for writing.
        using (FileStream fs = fi.OpenWrite())
        {
            Byte[] info =
                new UTF8Encoding(true).GetBytes("This is to test the OpenWrite method.");

            // Add some information to the file.
            fs.Write(info, 0, info.Length);
        }

        // Open the stream and read it back.
        using (FileStream fs = fi.OpenRead())
        {
            byte[] b = new byte[1024];
            UTF8Encoding temp = new UTF8Encoding(true);

            while (fs.Read(b,0,b.Length) > 0)
            {
                Console.WriteLine(temp.GetString(b));
            }
        }
    }
}
//This code produces output similar to the following;
//This is to test the OpenWrite method.
Imports System.IO
Imports System.Text

Public Class Test
    Public Shared Sub Main()
        Dim path As String = "c:\Temp\MyTest.txt"
        Dim fi As FileInfo = New FileInfo(path)
        Dim fs As FileStream

        ' Open the stream for writing.
        fs = fi.OpenWrite()
        Dim info As Byte() = _
            New UTF8Encoding(True).GetBytes("This is to test the OpenWrite method.")

        ' Add some information to the file.
        fs.Write(info, 0, info.Length)
        fs.Close()

        'Open the stream and read it back.
        fs = fi.OpenRead()
        Dim b(1023) As Byte
        Dim temp As UTF8Encoding = New UTF8Encoding(True)

        Do While fs.Read(b, 0, b.Length) > 0
            Console.WriteLine(temp.GetString(b))
        Loop
        fs.Close()
    End Sub
End Class
'This code produces output similar to the following; 
'results may vary based on the computer/file structure/etc.:
'
'This is to test the OpenWrite method.
'
'
'
'
'
'
'
'
'
'
'
'

Hinweise

Die OpenWrite Methode öffnet eine Datei, wenn eine datei bereits für den Dateipfad vorhanden ist, oder erstellt eine neue Datei, wenn sie nicht vorhanden ist. Bei einer vorhandenen Datei wird der neue Text nicht an den vorhandenen Text angefügt. Stattdessen werden die vorhandenen Zeichen mit den neuen Zeichen überschrieben. Wenn Sie eine längere Zeichenfolge (z. B. "This is a test of the OpenWrite method") mit einer kürzeren Zeichenfolge (z. B. "Second run") überschreiben, enthält die Datei eine Mischung aus den Zeichenfolgen ("Second run test of the OpenWrite method".)

Gilt für: