FileInfo.OpenWrite Methode

Definition

Erstellt einen lesegeschü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 lesegeschütztes nicht freigegebenes FileStream-Objekt für eine neue oder existierende Datei.

Ausnahmen

Der beim Erstellen einer Instanz des FileInfo-Objekts angegebene Pfad ist schreibgeschützt oder entspricht einem Verzeichnis.

Der beim Erstellen einer Instanz des FileInfo-Objekts angegebene Pfad ist ungültig, z. B. befindet er sich auf einem nicht zugeordneten Laufwerk.

Beispiele

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

using namespace System;
using namespace System::IO;
using namespace System::Text;

int main()
{
   String^ path = "c:\\Temp\\MyTest.txt";
   FileInfo^ fi = gcnew FileInfo( path );

   // Open the stream for writing.
   {
      FileStream^ fs = fi->OpenWrite();
      try
      {
         array<Byte>^info = (gcnew UTF8Encoding( true ))->GetBytes( "This is to test the OpenWrite method." );
         
         // Add some information to the file.
         fs->Write( info, 0, info->Length );
      }
      finally
      {
         if ( fs )
            delete (IDisposable^)fs;
      }
   }
   
   // Open the stream and read it back.
   {
      FileStream^ fs = fi->OpenRead();
      try
      {
         array<Byte>^b = gcnew array<Byte>(1024);
         UTF8Encoding^ temp = gcnew UTF8Encoding( true );
         while ( fs->Read( b, 0, b->Length ) > 0 )
         {
            Console::WriteLine( temp->GetString( b ) );
         }
      }
      finally
      {
         if ( fs )
            delete (IDisposable^)fs;
      }
   }
}
//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.
//
//
//
//
//
//
//
//
//
//
//
//
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;
//results may vary based on the computer/file structure/etc.:
//
//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 bereits eine für den Dateipfad vorhanden ist, oder erstellt eine neue Datei, falls keine 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. "Dies ist ein Test der OpenWrite-Methode") mit einer kürzeren Zeichenfolge (z. B. "Second run") überschreiben, enthält die Datei eine Mischung aus den Zeichenfolgen ("Zweiter Runtest der OpenWrite-Methode").

Gilt für: