File.Open File.Open File.Open File.Open Method

Definition

Öffnet einen FileStream für den angegebenen Pfad.Opens a FileStream on the specified path.

Überlädt

Open(String, FileMode) Open(String, FileMode) Open(String, FileMode) Open(String, FileMode)

Öffnet einen FileStream für den angegebenen Pfad mit Lese- und Schreibzugriff, der nicht weitergegeben werden kann.Opens a FileStream on the specified path with read/write access with no sharing.

Open(String, FileMode, FileAccess) Open(String, FileMode, FileAccess) Open(String, FileMode, FileAccess) Open(String, FileMode, FileAccess)

Öffnet einen FileStream unter dem angegebenen Pfad mit dem angegebenen Modus und Zugriff, der nicht weitergegeben werden kann.Opens a FileStream on the specified path, with the specified mode and access with no sharing.

Open(String, FileMode, FileAccess, FileShare) Open(String, FileMode, FileAccess, FileShare) Open(String, FileMode, FileAccess, FileShare) Open(String, FileMode, FileAccess, FileShare)

Öffnet einen FileStream auf dem angegebenen Pfad, der über den angegebenen Modus mit Lese-, Schreib- oder Lese-/Schreibzugriff und die angegebene Freigabeoption verfügt.Opens a FileStream on the specified path, having the specified mode with read, write, or read/write access and the specified sharing option.

Open(String, FileMode) Open(String, FileMode) Open(String, FileMode) Open(String, FileMode)

Öffnet einen FileStream für den angegebenen Pfad mit Lese- und Schreibzugriff, der nicht weitergegeben werden kann.Opens a FileStream on the specified path with read/write access with no sharing.

public:
 static System::IO::FileStream ^ Open(System::String ^ path, System::IO::FileMode mode);
public static System.IO.FileStream Open (string path, System.IO.FileMode mode);
static member Open : string * System.IO.FileMode -> System.IO.FileStream
Public Shared Function Open (path As String, mode As FileMode) As FileStream

Parameter

path
String String String String

Die zu öffnende Datei.The file to open.

mode
FileMode FileMode FileMode FileMode

Ein FileMode-Wert, der angibt, ob eine Datei erstellt wird, wenn sie nicht vorhanden ist, und bestimmt, ob der Inhalt vorhandener Dateien beibehalten oder überschrieben wird.A FileMode value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten.

Gibt zurück

Ein im angegebenen Modus und Pfad geöffneter, nicht freigegebener FileStream mit Lese- und Schreibzugriff.A FileStream opened in the specified mode and path, with read/write access and not shared.

Ausnahmen

path ist eine Zeichenfolge der Länge 0 (null), besteht nur aus Leerzeichen oder enthält mindestens eines der von InvalidPathChars definierten ungültigen Zeichen.is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars.

Der angegebene Pfad und/oder Dateiname überschreiten die vom System definierte maximale Länge.The specified path, file name, or both exceed the system-defined maximum length.

Der angegebene Pfad ist ungültig (er befindet sich z. B. auf einem nicht zugeordneten Laufwerk).The specified path is invalid, (for example, it is on an unmapped drive).

Beim Öffnen der Datei ist ein E/A-Fehler aufgetreten.An I/O error occurred while opening the file.

path hat eine schreibgeschützte Datei angegeben.specified a file that is read-only.

- oder --or- Dieser Vorgang wird von der aktuellen Plattform nicht unterstützt.This operation is not supported on the current platform.

- oder --or- path hat ein Verzeichnis angegeben.specified a directory.

- oder --or- Der Aufrufer verfügt nicht über die erforderliche Berechtigung.The caller does not have the required permission.

- oder --or- mode ist Create, und bei der angegebenen Datei handelt es sich um eine versteckte Datei.is Create and the specified file is a hidden file.

mode hat einen ungültigen Wert angegeben.specified an invalid value.

Die in path angegebene Datei wurde nicht gefunden.The file specified in path was not found.

path weist ein ungültiges Format auf.is in an invalid format.

Beispiele

Das folgende Codebeispiel erstellt eine temporäre Datei und schreibt Text in die Datei.The following code example creates a temporary file and writes some text to it. Im Beispiel wird dann die Datei mithilfe von System.IO.FileMode.Open geöffnet; d.h., wenn die Datei nicht bereits vorhanden war, würde es nicht erstellt werden.The example then opens the file, using T:System.IO.FileMode.Open; that is, if the file did not already exist, it would not be created.

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

int main()
{
   // Create a temporary file, and put some data into it.
   String^ path = Path::GetTempFileName();
   FileStream^ fs = File::Open( path, FileMode::Open, FileAccess::Write, FileShare::None );
   try
   {
      array<Byte>^info = (gcnew UTF8Encoding( true ))->GetBytes( "This is some text in the file." );
      
      // 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.
   fs = File::Open( path, FileMode::Open );
   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;
   }
}
using System;
using System.IO;
using System.Text;

class Test 
{
    public static void Main() 
    {
        // Create a temporary file, and put some data into it.
        string path = Path.GetTempFileName();
        using (FileStream fs = File.Open(path, FileMode.Open, FileAccess.Write, FileShare.None)) 
        {
            Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");
            // Add some information to the file.
            fs.Write(info, 0, info.Length);
        }
        

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

            while (fs.Read(b,0,b.Length) > 0) 
            {
                Console.WriteLine(temp.GetString(b));
            }
        }
    }
}
Imports System
Imports System.IO
Imports System.Text

Public Class Test
  Public Shared Sub Main()
  
    ' Create a temporary file, and put some data into it. 
    Dim path1 As String = Path.GetTempFileName()
    Using fs As FileStream = File.Open(path1, FileMode.Open, FileAccess.Write, FileShare.None)
      Dim info As Byte() = New UTF8Encoding(True).GetBytes("This is some text in the file.")
      ' Add some information to the file.
      fs.Write(info, 0, info.Length)
    End Using

    ' Open the stream and read it back. 
    Using fs As FileStream = File.Open(path1, FileMode.Open)
      Dim b(1024) As Byte
      Dim temp As UTF8Encoding = New UTF8Encoding(True)
      Do While fs.Read(b, 0, b.Length) > 0
        Console.WriteLine(temp.GetString(b))
      Loop
    End Using

  End Sub
End Class

Hinweise

Die path Parameter dürfen relativer oder absoluter Pfad angegeben werden.The path parameter is permitted to specify relative or absolute path information. Relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert.Relative path information is interpreted as relative to the current working directory. Um das aktuelle Arbeitsverzeichnis zu erhalten, finden Sie unter GetCurrentDirectory.To obtain the current working directory, see GetCurrentDirectory.

Eine Liste der allgemeinen e/a-Aufgaben, finden Sie unter e/a-Aufgaben.For a list of common I/O tasks, see Common I/O Tasks.

Sicherheit

FileIOPermission
für das Lesen und Schreiben in die angegebene Datei.for reading from and writing to the specified file. Zugeordnete Enumerationen: Read,Associated enumerations: Read, Write

Siehe auch

Open(String, FileMode, FileAccess) Open(String, FileMode, FileAccess) Open(String, FileMode, FileAccess) Open(String, FileMode, FileAccess)

Öffnet einen FileStream unter dem angegebenen Pfad mit dem angegebenen Modus und Zugriff, der nicht weitergegeben werden kann.Opens a FileStream on the specified path, with the specified mode and access with no sharing.

public:
 static System::IO::FileStream ^ Open(System::String ^ path, System::IO::FileMode mode, System::IO::FileAccess access);
public static System.IO.FileStream Open (string path, System.IO.FileMode mode, System.IO.FileAccess access);
static member Open : string * System.IO.FileMode * System.IO.FileAccess -> System.IO.FileStream
Public Shared Function Open (path As String, mode As FileMode, access As FileAccess) As FileStream

Parameter

path
String String String String

Die zu öffnende Datei.The file to open.

mode
FileMode FileMode FileMode FileMode

Ein FileMode-Wert, der angibt, ob eine Datei erstellt wird, wenn sie nicht vorhanden ist, und bestimmt, ob der Inhalt vorhandener Dateien beibehalten oder überschrieben wird.A FileMode value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten.

access
FileAccess FileAccess FileAccess FileAccess

Ein FileAccess-Wert, der die Vorgänge angibt, die für die Datei ausgeführt werden können.A FileAccess value that specifies the operations that can be performed on the file.

Gibt zurück

Ein FileStream ohne Freigabe, der Zugriff im angegebenen Modus mit angegebenem Zugriff auf die angegebene Datei bereitstellt.An unshared FileStream that provides access to the specified file, with the specified mode and access.

Ausnahmen

path ist eine Zeichenfolge der Länge 0 (null), besteht nur aus Leerzeichen oder enthält mindestens eines der von InvalidPathChars definierten ungültigen Zeichen.is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars.

- oder --or- access hat Read und mode hat Create, CreateNew, Truncate oder Append angegeben.specified Read and mode specified Create, CreateNew, Truncate, or Append.

Der angegebene Pfad und/oder Dateiname überschreiten die vom System definierte maximale Länge.The specified path, file name, or both exceed the system-defined maximum length.

Der angegebene Pfad ist ungültig (er befindet sich z. B. auf einem nicht zugeordneten Laufwerk).The specified path is invalid, (for example, it is on an unmapped drive).

Beim Öffnen der Datei ist ein E/A-Fehler aufgetreten.An I/O error occurred while opening the file.

path hat eine schreibgeschützte Datei angegeben, und access ist nicht Read.specified a file that is read-only and access is not Read.

- oder --or- path hat ein Verzeichnis angegeben.specified a directory.

- oder --or- Der Aufrufer verfügt nicht über die erforderliche Berechtigung.The caller does not have the required permission.

- oder --or- mode ist Create, und bei der angegebenen Datei handelt es sich um eine versteckte Datei.is Create and the specified file is a hidden file.

mode oder access hat einen ungültigen Wert angegeben.or access specified an invalid value.

Die in path angegebene Datei wurde nicht gefunden.The file specified in path was not found.

path weist ein ungültiges Format auf.is in an invalid format.

Beispiele

Das folgende Beispiel öffnet eine Datei mit Lesezugriff.The following example opens a file with read-only access.


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

int main()
{
    // This sample assumes that you have a folder named "c:\temp" on your computer.
    String^ filePath = "c:\\temp\\MyTest.txt";
    // Delete the file if it exists.
    if (File::Exists( filePath ))
    {
        File::Delete( filePath );
    }
    // Create the file.
    FileStream^ fs = File::Create( filePath );
    try
    {
        array<Byte>^ info = ( gcnew UTF8Encoding( true ))->GetBytes( "This is some text in the file." );
        
        // 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.
    fs = File::Open( filePath, FileMode::Open, FileAccess::Read );
    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 ) );
        }
        try
        {
            // Try to write to the file.
            fs->Write( b, 0, b->Length );
        }
        catch ( Exception^ e ) 
        {
            Console::WriteLine( "Writing was disallowed, as expected: {0}", e->ToString() );
        }
    }
    finally
    {
        if ( fs )
            delete (IDisposable^)fs;
    }
}
using System;
using System.IO;
using System.Text;

class Test 
{
    public static void Main() 
    {
        // This sample assumes that you have a folder named "c:\temp" on your computer.
        string filePath = @"c:\temp\MyTest.txt";

        // Delete the file if it exists.
        if (File.Exists(filePath)) 
        {
            File.Delete(filePath);
        }
        
        // Create the file.
        using (FileStream fs = File.Create(filePath)) 
        {
            Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");
            // Add some information to the file.
            fs.Write(info, 0, info.Length);
        }

        // Open the stream and read it back.
        using (FileStream fs = File.Open(filePath, FileMode.Open, FileAccess.Read)) 
        {
            byte[] b = new byte[1024];
            UTF8Encoding temp = new UTF8Encoding(true);

            while (fs.Read(b,0,b.Length) > 0) 
            {
                Console.WriteLine(temp.GetString(b));
            }

            try 
            {
                // Try to write to the file.
                fs.Write(b,0,b.Length);
            } 
            catch (Exception e) 
            {
                Console.WriteLine("Writing was disallowed, as expected: {0}", e.ToString());
            }
        }
    }
}
Imports System
Imports System.IO
Imports System.Text

Public Class Test
  Public Shared Sub Main()
    ' This sample assumes that you have a folder named "c:\temp" on your computer. 
    Dim filePath As String = "c:\temp\MyTest.txt"

    ' Delete the file if it exists. 
    If File.Exists(filePath) Then
      File.Delete(filePath)
    End If

    ' Create the file.
    Using fs As FileStream = File.Create(filePath)
      Dim info As Byte() = New UTF8Encoding(True).GetBytes("This is some text in the file.")

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

    ' Open the stream and read it back.
    Using fs As FileStream = File.Open(filePath, FileMode.Open, FileAccess.Read)
      Dim b(1024) As Byte
      Dim temp As UTF8Encoding = New UTF8Encoding(True)

      ' Display the information on the console. 
      Do While fs.Read(b, 0, b.Length) > 0
        Console.WriteLine(temp.GetString(b))
      Loop

      Try
        ' Try to write to the file
        fs.Write(b, 0, b.Length)
      Catch e As Exception
        Console.WriteLine("Writing was disallowed, as expected: " & e.ToString())
      End Try

    End Using

  End Sub
End Class

Hinweise

Die path Parameter dürfen relativer oder absoluter Pfad angegeben werden.The path parameter is permitted to specify relative or absolute path information. Relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert.Relative path information is interpreted as relative to the current working directory. Um das aktuelle Arbeitsverzeichnis zu erhalten, finden Sie unter GetCurrentDirectory.To obtain the current working directory, see GetCurrentDirectory.

Sicherheit

FileIOPermission
für das Lesen und Schreiben in die angegebene Datei.for reading from and writing to the specified file. Zugeordnete Enumerationen: Read,Associated enumerations: Read, Write

Siehe auch

Open(String, FileMode, FileAccess, FileShare) Open(String, FileMode, FileAccess, FileShare) Open(String, FileMode, FileAccess, FileShare) Open(String, FileMode, FileAccess, FileShare)

Öffnet einen FileStream auf dem angegebenen Pfad, der über den angegebenen Modus mit Lese-, Schreib- oder Lese-/Schreibzugriff und die angegebene Freigabeoption verfügt.Opens a FileStream on the specified path, having the specified mode with read, write, or read/write access and the specified sharing option.

public:
 static System::IO::FileStream ^ Open(System::String ^ path, System::IO::FileMode mode, System::IO::FileAccess access, System::IO::FileShare share);
public static System.IO.FileStream Open (string path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share);
static member Open : string * System.IO.FileMode * System.IO.FileAccess * System.IO.FileShare -> System.IO.FileStream
Public Shared Function Open (path As String, mode As FileMode, access As FileAccess, share As FileShare) As FileStream

Parameter

path
String String String String

Die zu öffnende Datei.The file to open.

mode
FileMode FileMode FileMode FileMode

Ein FileMode-Wert, der angibt, ob eine Datei erstellt wird, wenn sie nicht vorhanden ist, und bestimmt, ob der Inhalt vorhandener Dateien beibehalten oder überschrieben wird.A FileMode value that specifies whether a file is created if one does not exist, and determines whether the contents of existing files are retained or overwritten.

access
FileAccess FileAccess FileAccess FileAccess

Ein FileAccess-Wert, der die Vorgänge angibt, die für die Datei ausgeführt werden können.A FileAccess value that specifies the operations that can be performed on the file.

share
FileShare FileShare FileShare FileShare

Ein FileShare-Wert, der die Art des Zugriffs angibt, die andere Threads auf die Datei haben.A FileShare value specifying the type of access other threads have to the file.

Gibt zurück

Ein FileStream auf dem angegebenen Pfad, der über den angegebenen Modus mit Lese-, Schreib- oder Lese-/Schreibzugriff und die angegebene Freigabeoption verfügt.A FileStream on the specified path, having the specified mode with read, write, or read/write access and the specified sharing option.

Ausnahmen

path ist eine Zeichenfolge der Länge 0 (null), besteht nur aus Leerzeichen oder enthält mindestens eines der von InvalidPathChars definierten ungültigen Zeichen.is a zero-length string, contains only white space, or contains one or more invalid characters as defined by InvalidPathChars.

- oder --or- access hat Read und mode hat Create, CreateNew, Truncate oder Append angegeben.specified Read and mode specified Create, CreateNew, Truncate, or Append.

Der angegebene Pfad und/oder Dateiname überschreiten die vom System definierte maximale Länge.The specified path, file name, or both exceed the system-defined maximum length.

Der angegebene Pfad ist ungültig (er befindet sich z. B. auf einem nicht zugeordneten Laufwerk).The specified path is invalid, (for example, it is on an unmapped drive).

Beim Öffnen der Datei ist ein E/A-Fehler aufgetreten.An I/O error occurred while opening the file.

path hat eine schreibgeschützte Datei angegeben, und access ist nicht Read.specified a file that is read-only and access is not Read.

- oder --or- path hat ein Verzeichnis angegeben.specified a directory.

- oder --or- Der Aufrufer verfügt nicht über die erforderliche Berechtigung.The caller does not have the required permission.

- oder --or- mode ist Create, und bei der angegebenen Datei handelt es sich um eine versteckte Datei.is Create and the specified file is a hidden file.

mode, access oder share hat einen ungültigen Wert angegeben., access, or share specified an invalid value.

Die in path angegebene Datei wurde nicht gefunden.The file specified in path was not found.

path weist ein ungültiges Format auf.is in an invalid format.

Beispiele

Das folgende Beispiel öffnet eine Datei mit Lesezugriff und Freigeben von Dateien nicht zulässig.The following example opens a file with read-only access and with file sharing disallowed.

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

int main()
{
   String^ path = "c:\\temp\\MyTest.txt";
   
   // Create the file if it does not exist.
   if (  !File::Exists( path ) )
   {
      // Create the file.
      FileStream^ fs = File::Create( path );
      try
      {
         array<Byte>^info = (gcnew UTF8Encoding( true ))->GetBytes( "This is some text in the file." );
         
         // 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 = File::Open( path, FileMode::Open, FileAccess::Read, FileShare::None );
   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 ) );
      }
      try
      {
         // Try to get another handle to the same file.
         FileStream^ fs2 = File::Open( path, FileMode::Open );
         try
         {
            // Do some task here.
         }
         finally
         {
            if ( fs2 )
                        delete (IDisposable^)fs2;
         }
      }
      catch ( Exception^ e ) 
      {
         Console::Write( "Opening the file twice is disallowed." );
         Console::WriteLine( ", as expected: {0}", e );
      }
   }
   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";

        // Create the file if it does not exist.
        if (!File.Exists(path)) 
        {
            // Create the file.
            using (FileStream fs = File.Create(path)) 
            {
                Byte[] info = new UTF8Encoding(true).GetBytes("This is some text in the file.");

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

        // Open the stream and read it back.
        using (FileStream fs = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.None)) 
        {
            byte[] b = new byte[1024];
            UTF8Encoding temp = new UTF8Encoding(true);

            while (fs.Read(b,0,b.Length) > 0) 
            {
                Console.WriteLine(temp.GetString(b));
            }

            try 
            {
                // Try to get another handle to the same file.
                using (FileStream fs2 = File.Open(path, FileMode.Open)) 
                {
                    // Do some task here.
                }
            } 
            catch (Exception e) 
            {
                Console.Write("Opening the file twice is disallowed.");
                Console.WriteLine(", as expected: {0}", e.ToString());
            }
        }
    }
}
Imports System
Imports System.IO
Imports System.Text

Public Class Test
  Public Shared Sub Main()
    Dim path As String = "c:\temp\MyTest.txt"

    ' Create the file if it does not exist. 
    If Not File.Exists(path) Then
      ' Create the file.
      Using fs As FileStream = File.Create(path)
        Dim info As Byte() = New UTF8Encoding(True).GetBytes("This is some text in the file.")

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

    ' Open the stream and read it back.
    Using fs As FileStream = File.Open(path, FileMode.Open, FileAccess.Read, FileShare.None)
      Dim b(1024) As Byte
      Dim temp As UTF8Encoding = New UTF8Encoding(True)

      Do While fs.Read(b, 0, b.Length) > 0
        Console.WriteLine(temp.GetString(b))
      Loop

      Try
        ' Try to get another handle to the same file. 
        Using fs2 As FileStream = File.Open(path, FileMode.Open)
          ' Do some task here.
        End Using
      Catch e As Exception
        Console.Write("Opening the file twice is disallowed.")
        Console.WriteLine(", as expected: {0}", e.ToString())
      End Try

    End Using

  End Sub
End Class

Hinweise

Die path Parameter dürfen relativer oder absoluter Pfad angegeben werden.The path parameter is permitted to specify relative or absolute path information. Relativer Pfad wird relativ zum aktuellen Arbeitsverzeichnis interpretiert.Relative path information is interpreted as relative to the current working directory. Um das aktuelle Arbeitsverzeichnis zu erhalten, finden Sie unter GetCurrentDirectory.To obtain the current working directory, see GetCurrentDirectory.

Eine Liste der allgemeinen e/a-Aufgaben, finden Sie unter e/a-Aufgaben.For a list of common I/O tasks, see Common I/O Tasks.

Sicherheit

FileIOPermission
für das Lesen und Schreiben in die angegebene Datei.for reading from and writing to the specified file. Zugeordnete Enumerationen: Read,Associated enumerations: Read, Write

Siehe auch

Gilt für: