File Klasse

Definition

Stellt statische Methoden zum Erstellen, Kopieren, Löschen, Verschieben und Öffnen einer Datei bereit und unterstützt das Erstellen von FileStream-Objekten.

public ref class File abstract sealed
public ref class File sealed
public static class File
public sealed class File
[System.Runtime.InteropServices.ComVisible(true)]
public static class File
type File = class
[<System.Runtime.InteropServices.ComVisible(true)>]
type File = class
Public Class File
Public NotInheritable Class File
Vererbung
File
Attribute

Beispiele

Im folgenden Beispiel wird veranschaulicht, wie die -Klasse verwendet wird, um zu überprüfen, ob eine Datei vorhanden ist, und je nach Ergebnis entweder eine neue Datei erstellen und in sie schreiben oder die vorhandene Datei öffnen und daraus File lesen. Erstellen Sie vor dem Ausführen des Codes einen c:\temp Ordner.

using namespace System;
using namespace System::IO;
int main()
{
   String^ path = "c:\\temp\\MyTest.txt";
   if (  !File::Exists( path ) )
   {
      
      // Create a file to write to.
      StreamWriter^ sw = File::CreateText( path );
      try
      {
         sw->WriteLine( "Hello" );
         sw->WriteLine( "And" );
         sw->WriteLine( "Welcome" );
      }
      finally
      {
         if ( sw )
                  delete (IDisposable^)(sw);
      }
   }

   // Open the file to read from.
   StreamReader^ sr = File::OpenText( path );
   try
   {
      String^ s = "";
      while ( s = sr->ReadLine() )
      {
         Console::WriteLine( s );
      }
   }
   finally
   {
      if ( sr )
            delete (IDisposable^)(sr);
   }

   try
   {
      String^ path2 = String::Concat( path, "temp" );
      
      // Ensure that the target does not exist.
      File::Delete( path2 );
      
      // Copy the file.
      File::Copy( path, path2 );
      Console::WriteLine( "{0} was copied to {1}.", path, path2 );
      
      // Delete the newly created file.
      File::Delete( path2 );
      Console::WriteLine( "{0} was successfully deleted.", path2 );
   }
   catch ( Exception^ e ) 
   {
      Console::WriteLine( "The process failed: {0}", e );
   }
}
using System;
using System.IO;

class Test
{
    public static void Main()
    {
        string path = @"c:\temp\MyTest.txt";
        if (!File.Exists(path))
        {
            // Create a file to write to.
            using (StreamWriter sw = File.CreateText(path))
            {
                sw.WriteLine("Hello");
                sw.WriteLine("And");
                sw.WriteLine("Welcome");
            }
        }

        // Open the file to read from.
        using (StreamReader sr = File.OpenText(path))
        {
            string s;
            while ((s = sr.ReadLine()) != null)
            {
                Console.WriteLine(s);
            }
        }
    }
}
Imports System.IO

Public Class Test
    Public Shared Sub Main()
        Dim path As String = "c:\temp\MyTest.txt"
        If File.Exists(path) = False Then
            ' Create a file to write to.
            Using sw As StreamWriter = File.CreateText(path)
                sw.WriteLine("Hello")
                sw.WriteLine("And")
                sw.WriteLine("Welcome")
           End Using
        End If

        ' Open the file to read from.
        Using sr As StreamReader = File.OpenText(path)
            Do While sr.Peek() >= 0
                Console.WriteLine(sr.ReadLine())
            Loop
        End Using
    End Sub
End Class

Hinweise

Verwenden Sie die -Klasse für typische Vorgänge wie das Kopieren, Verschieben, Umbenennen, Erstellen, Öffnen, Löschen und Anfügen an eine File einzelne Datei gleichzeitig. Sie können die -Klasse auch verwenden, um Dateiattribute oder Informationen im Zusammenhang mit der Erstellung, dem Zugriff und dem Schreiben einer Datei zu erhalten File DateTime und fest zu legen. Informationen zum Ausführen von Vorgängen für mehrere Dateien finden Sie unter Directory.GetFiles oder DirectoryInfo.GetFiles .

Viele der Methoden File geben andere E/A-Typen zurück, wenn Sie Dateien erstellen oder öffnen. Sie können diese anderen Typen verwenden, um eine Datei weiter zu bearbeiten. Weitere Informationen finden Sie unter bestimmte Member wie File OpenText , oder CreateText Create .

Da alle Methoden statisch sind, kann es effizienter sein, eine Methode anstelle einer entsprechenden Instanzmethode zu verwenden, wenn Sie File nur eine Aktion ausführen File FileInfo möchten. Alle File Methoden erfordern den Pfad zu der Datei, die Sie bearbeiten.

Die statischen Methoden der File -Klasse führen Sicherheitsüberprüfungen für alle Methoden durch. Wenn Sie ein Objekt mehrmals wiederverwenden möchten, sollten Sie stattdessen die entsprechende Instanzmethode von verwenden, da die Sicherheitsüberprüfung FileInfo nicht immer erforderlich ist.

Standardmäßig wird allen Benutzern vollständiger Lese-/Schreibzugriff auf neue Dateien gewährt.

In der folgenden Tabelle werden die Enumerationen beschrieben, die zum Anpassen des Verhaltens verschiedener Methoden verwendet File werden.

Enumeration Beschreibung
FileAccess Gibt Lese- und Schreibzugriff auf eine Datei an.
FileShare Gibt die Zugriffsebene an, die für eine Datei zulässig ist, die bereits verwendet wird.
FileMode Gibt an, ob der Inhalt einer vorhandenen Datei beibehalten oder überschrieben wird und ob Anforderungen zum Erstellen einer vorhandenen Datei eine Ausnahme verursachen.

Hinweis

In Membern, die einen Pfad als Eingabezeichenfolge akzeptieren, muss dieser Pfad wohlgeformt sein oder eine Ausnahme ausgelöst werden. Wenn ein Pfad z. B. vollqualifiziert ist, aber mit einem Leerzeichen beginnt, wird der Pfad nicht in Methoden der -Klasse abgeschnitten. Daher ist der Pfad falsch formatiert, und es wird eine Ausnahme ausgelöst. Ebenso kann ein Pfad oder eine Kombination von Pfaden nicht zweimal vollqualifiziert werden. Beispielsweise löst "c:\temp c:\windows" in den meisten Fällen auch eine Ausnahme aus. Stellen Sie sicher, dass Ihre Pfade wohlgeformt sind, wenn Sie Methoden verwenden, die eine Pfadzeichenfolge akzeptieren.

In Membern, die einen Pfad akzeptieren, kann der Pfad auf eine Datei oder nur auf ein Verzeichnis verweisen. Der angegebene Pfad kann auch auf einen relativen Pfad oder einen Universal Naming Convention (UNC)-Pfad für einen Server- und Freigabenamen verweisen. Beispielsweise sind alle folgenden Pfade zulässig:

  • "c:\\\MyDir\\\MyFile.txt"in C# oder "c:\MyDir\MyFile.txt" in Visual Basic.

  • "c:\\\MyDir"in C# oder "c:\MyDir" in Visual Basic.

  • "MyDir\\\MySubdir"in C# oder "MyDir\MySubDir" in Visual Basic.

  • "\\\\\\\MyServer\\\MyShare"in C# oder "\\\MyServer\MyShare" in Visual Basic.

Eine Liste der allgemeinen E/A-Aufgaben finden Sie unter Allgemeine E/A-Aufgaben.

Methoden

AppendAllLines(String, IEnumerable<String>)

Fügt Zeilen an eine Datei an und schließt dann die Datei. Wenn die angegebene Datei nicht vorhanden ist, erstellt diese Methode eine Datei, schreibt die angegebenen Zeilen in die Datei und schließt die Datei dann.

AppendAllLines(String, IEnumerable<String>, Encoding)

Fügt Zeilen unter Verwendung einer angegebenen Codierung an eine Datei an und schließt dann die Datei. Wenn die angegebene Datei nicht vorhanden ist, erstellt diese Methode eine Datei, schreibt die angegebenen Zeilen in die Datei und schließt die Datei dann.

AppendAllLinesAsync(String, IEnumerable<String>, CancellationToken)

Fügt Zeilen asynchron an eine Datei an und schließt dann die Datei. Wenn die angegebene Datei nicht vorhanden ist, erstellt diese Methode eine Datei, schreibt die angegebenen Zeilen in die Datei und schließt die Datei dann.

AppendAllLinesAsync(String, IEnumerable<String>, Encoding, CancellationToken)

Fügt Zeilen unter Verwendung einer angegebenen Codierung asynchron an eine Datei an und schließt dann die Datei. Wenn die angegebene Datei nicht vorhanden ist, erstellt diese Methode eine Datei, schreibt die angegebenen Zeilen in die Datei und schließt die Datei dann.

AppendAllText(String, String)

Öffnet eine Datei, fügt die angegebene Zeichenfolge an die Datei an und schließt dann die Datei. Wenn die Datei nicht vorhanden ist, erstellt diese Methode eine Datei, schreibt die angegebene Zeichenfolge in die Datei und schließt die Datei dann.

AppendAllText(String, String, Encoding)

Fügt die angegebene Zeichenfolge unter Verwendung der angegebenen Codierung an die Datei an und erstellt die Datei, wenn sie nicht bereits vorhanden ist.

AppendAllTextAsync(String, String, CancellationToken)

Öffnet eine Datei asynchron oder erstellt eine Datei, wenn sie noch nicht vorhanden ist, fügt die angegebene Zeichenfolge an die Datei an und schließt dann die Datei.

AppendAllTextAsync(String, String, Encoding, CancellationToken)

Öffnet eine Datei asynchron oder erstellt die Datei, wenn sie noch nicht vorhanden ist, fügt die angegebene Zeichenfolge unter Verwendung der angegebenen Codierung an die Datei an und schließt dann die Datei.

AppendText(String)

Erstellt einen StreamWriter, der UTF-8 codierten Text an eine vorhandene Datei anfügt oder an eine neue Datei, wenn die angegebene Datei nicht vorhanden ist.

Copy(String, String)

Kopiert eine vorhandene Datei in eine neue Datei. Das Überschreiben einer gleichnamigen Datei ist nicht zulässig.

Copy(String, String, Boolean)

Kopiert eine vorhandene Datei in eine neue Datei. Das Überschreiben einer gleichnamigen Datei ist zulässig.

Create(String)

Erstellt oder überschreibt eine Datei im angegebenen Pfad.

Create(String, Int32)

Erstellt oder überschreibt eine Datei im angegebenen Pfad und legt eine Puffergröße fest.

Create(String, Int32, FileOptions)

Erstellt oder überschreibt eine Datei im angegebenen Pfad und legt eine Puffergröße sowie Optionen fest, die beschreiben, wie die Datei erstellt oder überschrieben werden soll.

Create(String, Int32, FileOptions, FileSecurity)

Erstellt oder überschreibt eine Datei im angegebenen Pfad und legt eine Puffergröße sowie Optionen fest, die beschreiben, wie die Datei erstellt oder überschrieben werden soll. Zudem wird ein Wert festgelegt, der die Zugriffssteuerung und die Überwachungssicherheit für die Datei bestimmt.

CreateSymbolicLink(String, String)

Erstellt eine durch identifizierte symbolische path Dateiverbindung, die auf pathToTarget verweist.

CreateText(String)

Erstellt oder öffnet eine Datei zum Schreiben von UTF-8 codiertem Text. Wenn die Datei bereits vorhanden ist, werden deren Inhalte überschrieben.

Decrypt(String)

Entschlüsselt eine Datei, die vom aktuellen Konto mit der Encrypt(String)-Methode verschlüsselt wurde.

Delete(String)

Löscht die angegebene Datei.

Encrypt(String)

Verschlüsselt eine Datei, sodass sie nur mit dem Konto, mit dem die Datei verschlüsselt wurde, entschlüsselt werden kann.

Exists(String)

Bestimmt, ob die angegebene Datei vorhanden ist.

GetAccessControl(String)

Ruft ein FileSecurity-Objekt ab, das die ACL-Einträge für eine angegebene Datei kapselt.

GetAccessControl(String, AccessControlSections)

Ruft ein FileSecurity-Objekt ab, das die angegebenen Typen von ACL-Einträgen für eine bestimmte Datei kapselt.

GetAttributes(String)

Ruft die FileAttributes der Datei in dem Pfad ab.

GetCreationTime(String)

Gibt das Erstellungsdatum und den Erstellungszeitpunkt für die angegebene Datei bzw. das angegebene Verzeichnis zurück.

GetCreationTimeUtc(String)

Gibt das Erstellungsdatum und den Erstellungszeitpunkt der angegebenen Datei bzw. des angegebenen Verzeichnisses im UTC-Format (Coordinated Universal Time) zurück.

GetLastAccessTime(String)

Gibt das Datum und die Uhrzeit des letzten Zugriffs auf die angegebene Datei bzw. das angegebene Verzeichnis zurück.

GetLastAccessTimeUtc(String)

Gibt das Datum und den Zeitpunkt im UTC-Format (Coordinated Universal Time) des letzten Zugriffs auf die angegebene Datei bzw. das angegebene Verzeichnis zurück.

GetLastWriteTime(String)

Gibt das Datum und die Uhrzeit des letzten Schreibvorgangs in die angegebene Datei bzw. das angegebene Verzeichnis zurück.

GetLastWriteTimeUtc(String)

Gibt das Datum und den Zeitpunkt des letzten Schreibzugriffs auf die angegebenen Datei bzw. das angegebene Verzeichnis im UTC-Format (Coordinated Universal Time) zurück.

Move(String, String)

Verschiebt eine angegebene Datei an einen neuen Speicherort und ermöglicht das Angeben eines neuen Dateinamens.

Move(String, String, Boolean)

Verschiebt eine angegebene Datei an einen neuen Speicherort und stellt die Optionen zum Angeben eines neuen Dateinamens und zum Überschreiben der Zieldatei bereit, falls diese bereits vorhanden ist.

Open(String, FileMode)

Öffnet einen FileStream für den angegebenen Pfad mit Lese- und Schreibzugriff, der nicht weitergegeben werden kann.

Open(String, FileMode, FileAccess)

Öffnet einen FileStream unter dem angegebenen Pfad mit dem angegebenen Modus und Zugriff, der nicht weitergegeben werden kann.

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.

Open(String, FileStreamOptions)

Initialisiert eine neue Instanz der -Klasse mit dem angegebenen Pfad, erstellungsmodus, Lese-/Schreib- und Freigabeberechtigung, dem Zugriff anderer FileStreams auf dieselbe Datei, der Puffergröße, zusätzlichen Dateioptionen und der FileStream Zuordnungsgröße.

OpenHandle(String, FileMode, FileAccess, FileShare, FileOptions, Int64)

Initialisiert eine neue Instanz der -Klasse mit dem angegebenen Pfad, erstellungsmodus, Lese-/Schreib- und Freigabeberechtigung, dem Zugriff anderer SafeFileHandles auf dieselbe Datei, zusätzlichen Dateioptionen und der SafeFileHandle Zuordnungsgröße.

OpenRead(String)

Öffnet eine vorhandene Datei zum Lesen.

OpenText(String)

Öffnet eine vorhandene UTF-8-codierte Textdatei zum Lesen.

OpenWrite(String)

Öffnet eine vorhandene Datei oder erstellt eine neue Datei zum Schreiben.

ReadAllBytes(String)

Öffnet eine Binärdatei, liest den Inhalt der Datei in ein Bytearray ein und schließt dann die Datei.

ReadAllBytesAsync(String, CancellationToken)

Öffnet eine Binärdatei asynchron, liest den Inhalt der Datei in ein Bytearray ein und schließt dann die Datei.

ReadAllLines(String)

Öffnet eine Textdatei, liest alle Zeilen der Datei und schließt dann die Datei.

ReadAllLines(String, Encoding)

Öffnet eine Datei, liest alle Zeilen der Datei mit der angegebenen Codierung und schließt dann die Datei.

ReadAllLinesAsync(String, CancellationToken)

Öffnet asynchron eine Textdatei, liest alle Zeilen der Datei und schließt dann die Datei.

ReadAllLinesAsync(String, Encoding, CancellationToken)

Öffnet asynchron eine Textdatei, liest alle Zeilen der Datei mit der angegebenen Codierung und schließt dann die Datei.

ReadAllText(String)

Öffnet eine Textdatei, liest den gesamten Text der Datei und schließt dann die Datei.

ReadAllText(String, Encoding)

Öffnet eine Datei, liest den gesamten Text der Datei mit der angegebenen Codierung und schließt dann die Datei.

ReadAllTextAsync(String, CancellationToken)

Öffnet asynchron eine Textdatei, liest den gesamten Text der Datei und schließt dann die Datei.

ReadAllTextAsync(String, Encoding, CancellationToken)

Öffnet asynchron eine Textdatei, liest den gesamten Text der Datei mit der angegebenen Codierung und schließt dann die Datei.

ReadLines(String)

Liest die Zeilen einer Datei.

ReadLines(String, Encoding)

Liest die Zeilen einer Datei mit einer angegebenen Codierung.

Replace(String, String, String)

Ersetzt den Inhalt einer angegebenen Datei mit dem Inhalt einer anderen Datei, löscht die ursprüngliche Datei und erstellt eine Sicherung der ersetzten Datei.

Replace(String, String, String, Boolean)

Ersetzt den Inhalt einer angegebenen Datei mit dem Inhalt einer anderen Datei, löscht die ursprüngliche Datei, erstellt eine Sicherung der ersetzten Datei und ignoriert optional Fehler beim Merge.

ResolveLinkTarget(String, Boolean)

Ruft das Ziel des angegebenen Dateilinks ab.

SetAccessControl(String, FileSecurity)

Wendet von einem FileSecurity-Objekt beschriebene Einträge von Zugriffssteuerungslisten (Access Control List, ACL) auf die angegebene Datei an.

SetAttributes(String, FileAttributes)

Legt die angegebenen FileAttributes der Datei im angegebenen Pfad fest.

SetCreationTime(String, DateTime)

Legt das Datum und die Uhrzeit fest, zu der die Datei erstellt wurde.

SetCreationTimeUtc(String, DateTime)

Legt das Datum und die Uhrzeit der Erstellung der Datei im UTC-Format (Coordinated Universal Time) fest.

SetLastAccessTime(String, DateTime)

Legt das Datum und die Uhrzeit des letzten Zugriffs auf die angegebene Datei fest.

SetLastAccessTimeUtc(String, DateTime)

Legt das Datum und den Zeitpunkt des letzten Zugriffs auf die angegebene Datei im UTC-Format (Coordinated Universal Time) fest.

SetLastWriteTime(String, DateTime)

Legt das Datum und die Uhrzeit des letzten Schreibvorgangs in die angegebene Datei fest.

SetLastWriteTimeUtc(String, DateTime)

Legt das Datum und den Zeitpunkt des letzten Schreibzugriffs auf die angegebene Datei im UTC-Format (Coordinated Universal Time) fest.

WriteAllBytes(String, Byte[])

Erstellt eine neue Datei, schreibt das angegebene Bytearray in die Datei und schließt die Datei dann. Ist die Zieldatei bereits vorhanden, wird sie überschrieben.

WriteAllBytesAsync(String, Byte[], CancellationToken)

Erstellt asynchron eine neue Datei, schreibt das angegebene Bytearray in die Datei und schließt die Datei dann. Ist die Zieldatei bereits vorhanden, wird sie überschrieben.

WriteAllLines(String, IEnumerable<String>)

Erstellt eine neue Datei, schreibt eine Auflistung von Zeichenfolgen in die Datei und schließt dann die Datei.

WriteAllLines(String, IEnumerable<String>, Encoding)

Erstellt eine neue Datei unter Verwendung der angegebenen Codierung, schreibt eine Auflistung von Zeichenfolgen in die Datei und schließt dann die Datei.

WriteAllLines(String, String[])

Erstellt eine neue Datei, schreibt das angegebene Zeichenfolgenarray in die Datei und schließt die Datei dann.

WriteAllLines(String, String[], Encoding)

Erstellt eine neue Datei, schreibt das angegebene Zeichenfolgenarray unter Verwendung der angegebenen Codierung in die Datei und schließt dann die Datei.

WriteAllLinesAsync(String, IEnumerable<String>, CancellationToken)

Erstellt asynchron eine neue Datei, schreibt die angegebenen Zeilen in die Datei und schließt die Datei dann.

WriteAllLinesAsync(String, IEnumerable<String>, Encoding, CancellationToken)

Erstellt asynchron eine neue Datei, schreibt die angegebenen Zeilen unter Verwendung der angegebenen Codierung in die Datei und schließt dann die Datei.

WriteAllText(String, String)

Erstellt eine neue Datei, schreibt die angegebene Zeichenfolge in die Datei und schließt die Datei dann. Ist die Zieldatei bereits vorhanden, wird sie überschrieben.

WriteAllText(String, String, Encoding)

Erstellt eine neue Datei, schreibt die angegebene Zeichenfolge mit der angegebenen Codierung in die Datei und schließt die Datei dann. Ist die Zieldatei bereits vorhanden, wird sie überschrieben.

WriteAllTextAsync(String, String, CancellationToken)

Erstellt asynchron eine neue Datei, schreibt die angegebene Zeichenfolge in die Datei und schließt die Datei dann. Ist die Zieldatei bereits vorhanden, wird sie überschrieben.

WriteAllTextAsync(String, String, Encoding, CancellationToken)

Erstellt asynchron eine neue Datei, schreibt die angegebene Zeichenfolge unter Verwendung der angegebenen Codierung in die Datei und schließt dann die Datei. Ist die Zieldatei bereits vorhanden, wird sie überschrieben.

Gilt für

Siehe auch