English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C# Datei und Verzeichnis

C# bietet die folgenden Klassen für das Dateisystem. Sie können verwendet werden, um auf Verzeichnisse zuzugreifen, auf Dateien zuzugreifen, Dateien zum Lesen oder Schreiben zu öffnen, neue Dateien zu erstellen oder bestehende Dateien von einem Ort an einen anderen zu verschieben usw.

KlassennameVerwendung
FileFile ist eine statische Klasse, die verschiedene Funktionen bietet, wie z.B. Kopieren, Erstellen, Verschieben, Löschen, Öffnen zum Lesen oder Schreiben, Verschlüsseln oder Entschlüsseln, Überprüfen, ob eine Datei existiert, Zeilen oder Text in den Dateiinhalt hinzufügen, das Letzte Zugriffsdatum abrufen usw.
FileInfoDie FileInfo-Klasse bietet die gleichen Funktionen wie die statische File-Klasse. Durch das Manuelle Schreiben von Code zum Lesen oder Schreiben von Bytes aus einer Datei können Sie besser den Zugriff auf die Datei steuern./Schreiboperationen.
DirectoryVerzeichnis ist eine statische Klasse, die das Erstellen, Verschieben, Löschen und Zugreifen auf Unterverzeichnisse ermöglicht.  
DirectoryInfoDirectoryInfo bietet Instanzmethoden zum Erstellen, Verschieben, Löschen und Zugreifen auf Unterverzeichnisse.  
PathPath ist eine statische Klasse, die einige Funktionen bietet, wie z.B. das Abrufen der Dateierweiterung, das Ändern der Dateierweiterung, das Abrufen des absoluten physischen Pfades und andere Funktionen, die mit Pfaden zu tun haben.

Datei(File)

C# enthält die statische File-Klasse, um auf dem physischen Dateisystem i/o Operationen. Die statische File-Klasse umfasst verschiedene nützliche Methoden, die mit jedem Typ physischer Dateien (wie Binärdateien, Textdateien usw.) interagieren können.

Verwenden Sie diese statische File-Klasse, um einige schnelle Operationen an physischen Dateien auszuführen. Aus Gründen der Leistung wird nicht empfohlen, die File-Klasse gleichzeitig für mehrere Dateien und mehrere Operationen zu verwenden. In diesem Fall verwenden Sie die FileInfo-Klasse.

Wichtige Methoden der statischen File-Klasse

MethodeVerwendung
AppendAllLinesZeilen zur Datei hinzufügen und die Datei schließen. Wenn die angegebene Datei nicht existiert, erstellt dieses Verfahren eine Datei, schreibt die angegebene Zeile in die Datei und schließt die Datei.
AppendAllTextÖffnen Sie eine Datei, fügen Sie die angegebene Zeichenfolge zur Datei hinzu und schließen Sie die Datei. Wenn die Datei nicht existiert, erstellt dieses Verfahren eine Datei, schreibt die angegebene Zeichenfolge in die Datei und schließt die Datei.
AppendTextErstellen Sie einen StreamWriter, der UTF-8Kodierten Text an eine vorhandene Datei anhängen oder wenn die angegebene Datei nicht existiert, an eine neue Datei anhängen.
CopyKopieren Sie eine vorhandene Datei in eine neue Datei. Es ist nicht erlaubt, Dateien mit dem gleichen Namen zu überschreiben.
CreateErstellen oder überschreiben Sie eine Datei im angegebenen Pfad.
CreateTextErstellen oder öffnen Sie eine Datei zum Schreiben von UTF-8Datei, die den Text kodiert.
EntschlüsselnEntschlüsseln Sie die von dem aktuellen Konto verschlüsselten Datei mit dem Encrypt-Methode.
DeleteLöschen Sie die angegebene Datei.
EncryptVerschlüsseln Sie die Datei, sodass nur der für die Verschlüsselung der Datei verwendete Konto die Datei entschlüsseln kann.
ExistsBestimmen Sie, ob die angegebene Datei existiert.
GetAccessControlErhalten Sie ein FileSecurity-Objekt, das die Zugriffssteuerelemente (ACL) der angegebenen Datei enthält.
MoveBewegen Sie die angegebene Datei an einen neuen Ort und geben Sie die Option für den neuen Dateinamen an.
OpenÖffnen Sie/Öffnen Sie einen FileStream auf dem angegebenen Pfad mit den festgelegten Schreibberechtigungen.
ReadAllBytesÖffnen Sie eine Binärdatei, lesen Sie den Inhalt der Datei in ein Byte-Array und schließen Sie die Datei.
ReadAllLinesÖffnen Sie eine Textdatei, lesen Sie alle Zeilen der Datei und schließen Sie die Datei.
ReadAllTextÖffnen Sie eine Textdatei, lesen Sie alle Zeilen der Datei und schließen Sie die Datei.
ReplaceErsetzen Sie den Inhalt der angegebenen Datei durch den Inhalt einer anderen Datei, löschen Sie die ursprüngliche Datei und erstellen Sie eine Sicherungskopie der ersetzten Datei.
WriteAllBytesErstellen Sie eine neue Datei, schreiben Sie die angegebene Byte-Array in diese Datei und schließen Sie die Datei. Falls die Zieldatei bereits existiert, wird sie überschrieben.
WriteAllLinesErstellen Sie eine neue Datei, schreiben Sie die Sammlung von Zeichenfolgen in diese Datei und schließen Sie die Datei.
WriteAllTextErstellen Sie eine neue Datei, schreiben Sie die angegebene Zeichenfolge in diese Datei und schließen Sie die Datei. Falls die Zieldatei bereits existiert, wird sie überschrieben.

Fügen Sie Textzeilen hinzu

Fügen Sie mehrere Textzeilen zur angegebenen Datei mit dem Methodenaufruf AppendAllLines () hinzu, wie folgt.

string dummyLines = "Dies ist die erste Zeile."; + Environment.NewLine +
                    "Dies ist die zweite Zeile." + Environment.NewLine +
                    "Dies ist die dritte Zeile.";
//Öffnen Sie DummyFile.txt und fügen Sie Zeilen hinzu. Falls die Datei nicht existiert, wird sie erstellt und geöffnet.
File.AppendAllLines(@"C:\DummyFile.txt", dummyLines.Split(Environment.NewLine.ToCharArray()).ToList<string>());

Fügen Sie eine Zeichenfolge hinzu

Fügen Sie eine Zeichenfolge an eine Zeile im Datei-Code mit dem Methodenaufruf File.AppendAllText () hinzu, wie folgt.

//Öffnen Sie DummyFile.txt und fügen Sie Text hinzu. Falls die Datei nicht existiert, wird sie erstellt und geöffnet.
File.AppendAllText(@"C:\ DummyFile.txt", "This is File testing");

Text ersetzen

VerwendenFile.WriteAllText()Der Methoden schreibt Text in die Datei. Beachten Sie, dass der Text nicht angehängt, sondern das bestehende Text ersetzt wird.

    Beispiel: Überlagern bestehender Text

//Öffnen Sie DummyFile.txt und schreiben Sie Text. Wenn die Datei nicht existiert, wird sie erstellt und geöffnet.
File.WriteAllText(@"C:\DummyFile.txt", "This is dummy text");

Nachfolgender Beispiel zeigt, wie man mit der statischen File-Klasse verschiedene Operationen ausführt.

//Überprüfen Sie, ob die Datei an einem bestimmten Ort existiert
bool isFileExists = File.Exists(@"C:\ DummyFile.txt"); // Rückgabe von falsch
//Kopieren Sie DummyFile.txt als neue Datei DummyFileNew.txt
File.Copy(@"C:\DummyFile.txt", @"D:\NewDummyFile.txt");
//Zeit des letzten Zugriffs auf die Datei abrufen 
DateTime lastAccessTime = File.GetLastAccessTime(@"C:\DummyFile.txt");
//Zeit des letzten Schreibens der Datei abrufen
DateTime lastWriteTime = File.GetLastWriteTime(@"C:\DummyFile.txt");
// Verschieben Sie die Datei an einen neuen Ort
File.Move(@"C:\DummyFile.txt", @"D:\DummyFile.txt");
//Öffnen Sie die Datei und geben Sie einen FileStream zurück, um Bytes aus der Datei zu lesen
FileStream fs = File.Open(@"D:\DummyFile.txt", FileMode.OpenOrCreate);
//Öffnen Sie die Datei und geben Sie einen StreamReader zurück, um Zeichenfolgen aus der Datei zu lesen
StreamReader sr = File.OpenText(@"D:\DummyFile.txt");
    
//Datei löschen
File.Delete(@"C:\DummyFile.txt");

Daher ist es einfach, physische Dateien mit der statischen File-Klasse zu verarbeiten. Wenn Sie jedoch mehr Flexibilität wünschen, können Sie die FileInfo-Klasse verwenden. Ebenso lässt sich mit der statischen Directory-Klasse physische Verzeichnisse verarbeiten.

Zu beachtende Punkte

  1. File ist eine statische Klasse, mit der weniger Kodierung aus physischen Dateien gelesen\geschrieben werden kann.

  2. Die statische Klasse File bietet für physische Dateien Funktionen wie Erstellen, Lesen\Schreiben, Kopieren, Verschieben und Löschen und mehr.

  3. Die statische Klasse Directory bietet für physische Verzeichnisse mit weniger Kodierung Funktionen wie Erstellen, Kopieren, Verschieben, Löschen und mehr.

  4. Die Klassen FileInfo und DirectoryInfo bieten die gleichen Funktionen wie die statischen Klassen File und Directory.