File.Open Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Öffnet einen FileStream auf dem angegebenen Pfad.
Überlädt
| Name | Beschreibung |
|---|---|
| Open(String, FileMode) |
Öffnet einen FileStream auf dem angegebenen Pfad mit Lese-/Schreibzugriff ohne Freigabe. |
| Open(String, FileStreamOptions) |
Initialisiert eine neue Instanz der FileStream Klasse mit dem angegebenen Pfad, Erstellungsmodus, Lese-/Schreib- und Freigabeberechtigung, der Zugriff auf andere FileStreams kann auf dieselbe Datei, die Puffergröße, zusätzliche Dateioptionen und die Zuordnungsgröße verfügen. |
| Open(String, FileMode, FileAccess) |
Öffnet einen FileStream auf dem angegebenen Pfad, mit dem angegebenen Modus und Zugriff ohne Freigabe. |
| Open(String, FileMode, FileAccess, FileShare) |
Öffnet einen FileStream auf dem angegebenen Pfad, wobei der angegebene Modus mit Lese-, Schreib- oder Lese-/Schreibzugriff und der angegebenen Freigabeoption geöffnet wird. |
Open(String, FileMode)
- Quelle:
- File.cs
- Quelle:
- File.cs
- Quelle:
- File.cs
- Quelle:
- File.cs
Öffnet einen FileStream auf dem angegebenen Pfad mit Lese-/Schreibzugriff ohne Freigabe.
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
Die datei, die geöffnet werden soll.
- mode
- 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.
Gibt zurück
Ein FileStream im angegebenen Modus und Pfad geöffneter Pfad mit Lese-/Schreibzugriff und nicht freigegeben.
Ausnahmen
.NET Framework- und .NET Core-Versionen, die älter als 2.1 sind: path eine leere Zeichenfolge, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen. Sie können ungültige Zeichen mithilfe der GetInvalidPathChars() Methode abfragen.
path ist null.
Der angegebene Pfad, der Dateiname oder beide überschreiten die vom System definierte maximale Länge.
Der angegebene Pfad ist ungültig (z. B. auf einem nicht zugeordneten Laufwerk).
Beim Öffnen der Datei ist ein E/A-Fehler aufgetreten.
path eine Datei angegeben, die schreibgeschützt ist.
-oder-
Dieser Vorgang wird auf der aktuellen Plattform nicht unterstützt.
-oder-
path ein Verzeichnis angegeben.
-oder-
Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
-oder-
mode ist Create und die angegebene Datei eine ausgeblendete Datei ist.
mode einen ungültigen Wert angegeben.
Die angegebene path Datei wurde nicht gefunden.
path ist in einem ungültigen Format vorhanden.
Beispiele
Im folgenden Codebeispiel wird eine temporäre Datei erstellt und textiert. Anschließend wird die Datei mit T:System.IO.FileMode.Open geöffnet. das heißt, wenn die Datei noch nicht vorhanden war, würde sie nicht erstellt.
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));
}
}
}
}
open System.IO
open System.Text
// Create a temporary file, and put some data into it.
let path = Path.GetTempFileName()
do
use fs =
File.Open(path, FileMode.Open, FileAccess.Write, FileShare.None)
let info =
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.
do
use fs = File.Open(path, FileMode.Open)
let b = Array.zeroCreate 1024
let temp = UTF8Encoding true
while fs.Read(b, 0, b.Length) > 0 do
printfn $"{temp.GetString b}"
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(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
End Using
End Sub
End Class
Hinweise
Der path Parameter darf relative oder absolute Pfadinformationen angeben. Relative Pfadinformationen werden relativ zum aktuellen Arbeitsverzeichnis interpretiert. Informationen zum Abrufen des aktuellen Arbeitsverzeichnisses finden Sie unter GetCurrentDirectory.
Eine Liste allgemeiner E/A-Aufgaben finden Sie unter "Allgemeine E/A-Aufgaben".
Weitere Informationen
- Datei- und Stream-E/A
- Lesen von Text aus einer Datei
- Vorgehensweise: Schreiben von Text in eine Datei
Gilt für:
Open(String, FileStreamOptions)
- Quelle:
- File.cs
- Quelle:
- File.cs
- Quelle:
- File.cs
- Quelle:
- File.cs
Initialisiert eine neue Instanz der FileStream Klasse mit dem angegebenen Pfad, Erstellungsmodus, Lese-/Schreib- und Freigabeberechtigung, der Zugriff auf andere FileStreams kann auf dieselbe Datei, die Puffergröße, zusätzliche Dateioptionen und die Zuordnungsgröße verfügen.
public:
static System::IO::FileStream ^ Open(System::String ^ path, System::IO::FileStreamOptions ^ options);
public static System.IO.FileStream Open(string path, System.IO.FileStreamOptions options);
static member Open : string * System.IO.FileStreamOptions -> System.IO.FileStream
Public Shared Function Open (path As String, options As FileStreamOptions) As FileStream
Parameter
- path
- String
Der Pfad der zu öffnenden Datei.
- options
- FileStreamOptions
Ein Objekt, das optionale FileStream Parameter beschreibt, die verwendet werden sollen.
Gibt zurück
Eine FileStream Instanz, die die geöffnete Datei umschließt.
Hinweise
FileStream(String, FileStreamOptions) informationen zu Ausnahmen.
Gilt für:
Open(String, FileMode, FileAccess)
- Quelle:
- File.cs
- Quelle:
- File.cs
- Quelle:
- File.cs
- Quelle:
- File.cs
Öffnet einen FileStream auf dem angegebenen Pfad, mit dem angegebenen Modus und Zugriff ohne Freigabe.
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
Die datei, die geöffnet werden soll.
- mode
- 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.
- access
- FileAccess
Ein FileAccess Wert, der die Vorgänge angibt, die für die Datei ausgeführt werden können.
Gibt zurück
Eine nicht freigegebene FileStream Datei, die Zugriff auf die angegebene Datei ermöglicht, mit dem angegebenen Modus und Zugriff.
Ausnahmen
.NET Framework- und .NET Core-Versionen, die älter als 2.1 sind: path eine leere Zeichenfolge, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen. Sie können ungültige Zeichen mithilfe der GetInvalidPathChars() Methode abfragen.
-oder-
access angegeben Read und mode angegeben Create, , CreateNew, , Truncateoder Append.
path ist null.
Der angegebene Pfad, der Dateiname oder beide überschreiten die vom System definierte maximale Länge.
Der angegebene Pfad ist ungültig (z. B. auf einem nicht zugeordneten Laufwerk).
Beim Öffnen der Datei ist ein E/A-Fehler aufgetreten.
path eine Datei angegeben, die schreibgeschützt ist und access nicht Read.
-oder-
path ein Verzeichnis angegeben.
-oder-
Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
-oder-
mode ist Create und die angegebene Datei eine ausgeblendete Datei ist.
mode oder access ein ungültiger Wert angegeben.
Die angegebene path Datei wurde nicht gefunden.
path ist in einem ungültigen Format vorhanden.
Beispiele
Im folgenden Beispiel wird eine Datei mit schreibgeschütztem Zugriff geöffnet.
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());
}
}
}
}
open System.IO
open System.Text
// This sample assumes that you have a folder named "c:\temp" on your computer.
let filePath = @"c:\temp\MyTest.txt"
// Delete the file if it exists.
if File.Exists filePath then
File.Delete filePath
// Create the file.
do
use fs = File.Create filePath
let info =
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.
do
use fs =
File.Open(filePath, FileMode.Open, FileAccess.Read)
let b = Array.zeroCreate 1024
let temp = UTF8Encoding true
while fs.Read(b, 0, b.Length) > 0 do
printfn $"{temp.GetString b}"
try
// Try to write to the file.
fs.Write(b, 0, b.Length)
with
| e -> printfn $"Writing was disallowed, as expected: {e}"
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(1023) 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
Der path Parameter darf relative oder absolute Pfadinformationen angeben. Relative Pfadinformationen werden relativ zum aktuellen Arbeitsverzeichnis interpretiert. Informationen zum Abrufen des aktuellen Arbeitsverzeichnisses finden Sie unter GetCurrentDirectory.
Weitere Informationen
- Datei- und Stream-E/A
- Lesen von Text aus einer Datei
- Vorgehensweise: Schreiben von Text in eine Datei
Gilt für:
Open(String, FileMode, FileAccess, FileShare)
- Quelle:
- File.cs
- Quelle:
- File.cs
- Quelle:
- File.cs
- Quelle:
- File.cs
Öffnet einen FileStream auf dem angegebenen Pfad, wobei der angegebene Modus mit Lese-, Schreib- oder Lese-/Schreibzugriff und der angegebenen Freigabeoption geöffnet wird.
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
Die datei, die geöffnet werden soll.
- mode
- 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.
- access
- FileAccess
Ein FileAccess Wert, der die Vorgänge angibt, die für die Datei ausgeführt werden können.
- share
- FileShare
Ein FileShare Wert, der den Typ des Zugriffs an andere Threads angibt, muss für die Datei verwendet werden.
Gibt zurück
A FileStream auf dem angegebenen Pfad mit dem angegebenen Modus mit Lese-, Schreib- oder Lese-/Schreibzugriff und der angegebenen Freigabeoption.
Ausnahmen
.NET Framework- und .NET Core-Versionen, die älter als 2.1 sind: path eine leere Zeichenfolge, enthält nur Leerzeichen oder enthält mindestens ein ungültiges Zeichen. Sie können ungültige Zeichen mithilfe der GetInvalidPathChars() Methode abfragen.
-oder-
access angegeben Read und mode angegeben Create, , CreateNew, , Truncateoder Append.
path ist null.
Der angegebene Pfad, der Dateiname oder beide überschreiten die vom System definierte maximale Länge.
Der angegebene Pfad ist ungültig (z. B. auf einem nicht zugeordneten Laufwerk).
Beim Öffnen der Datei ist ein E/A-Fehler aufgetreten.
path eine Datei angegeben, die schreibgeschützt ist und access nicht Read.
-oder-
path ein Verzeichnis angegeben.
-oder-
Der Aufrufer verfügt nicht über die erforderliche Berechtigung.
-oder-
mode ist Create und die angegebene Datei eine ausgeblendete Datei ist.
mode, accessoder share ein ungültiger Wert angegeben.
Die angegebene path Datei wurde nicht gefunden.
path ist in einem ungültigen Format vorhanden.
Beispiele
Im folgenden Beispiel wird eine Datei mit schreibgeschütztem Zugriff und mit unzulässiger Dateifreigabe geöffnet.
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());
}
}
}
}
open System.IO
open System.Text
let path = @"c:\temp\MyTest.txt"
// Create the file if it does not exist.
if File.Exists path |> not then
// Create the file.
use fs = File.Create path
let info =
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.
do
use fs =
File.Open(path, FileMode.Open, FileAccess.Read, FileShare.None)
let b = Array.zeroCreate 1024
let temp = UTF8Encoding true
while fs.Read(b, 0, b.Length) > 0 do
printfn $"{temp.GetString b}"
try
// Try to get another handle to the same file.
use fs2 = File.Open(path, FileMode.Open)
// Do some task here.
()
with
| e -> printf "Opening the file twice is disallowed, as expected: {e}"
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(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
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
Der path Parameter darf relative oder absolute Pfadinformationen angeben. Relative Pfadinformationen werden relativ zum aktuellen Arbeitsverzeichnis interpretiert. Informationen zum Abrufen des aktuellen Arbeitsverzeichnisses finden Sie unter GetCurrentDirectory.
Eine Liste allgemeiner E/A-Aufgaben finden Sie unter "Allgemeine E/A-Aufgaben".
Weitere Informationen
- Datei- und Stream-E/A
- Lesen von Text aus einer Datei
- Vorgehensweise: Schreiben von Text in eine Datei