Zum Hauptinhalt springen

File Klasse

Methoden der Klasse File

MethodeRückgabewertBeschreibung
CreateFileStreamErstellt eine neue Datei oder überschreibt eine vorhandene Datei mit dem angegebenen Dateinamen
DeletevoidLöscht die angegebene Datei
ExistsboolGibt an, ob die angegebene Datei vorhanden ist
GetAttributesFileAttributesRuft die Attribute für die angegebene Datei oder das Verzeichnis ab
GetCreationTimeDateTimeRuft die Zeit ab, zu der die angegebene Datei oder das Verzeichnis erstellt wurde
GetLastAccessTimeDateTimeRuft die Zeit ab, zu der die angegebene Datei oder das Verzeichnis zuletzt zugegriffen wurde
GetLastWriteTimeDateTimeRuft die Zeit ab, zu der die angegebene Datei oder das Verzeichnis zuletzt geschrieben wurde
MovevoidVerschiebt eine vorhandene Datei oder einen Ordner und legt dabei den neuen Dateinamen oder Pfad fest
OpenFileStreamÖffnet eine vorhandene Datei oder erstellt eine neue Datei und gibt einen FileStream zurück
ReadAllBytesbyte[]Liest alle Bytes aus der angegebenen Datei
ReadAllLinesstring[]Liest alle Zeilen aus der angegebenen Datei
ReadAllTextstringLiest den gesamten Text aus der angegebenen Datei
WriteAllBytesvoidSchreibt die angegebenen Bytes in die angegebene Datei
WriteAllLinesvoidSchreibt die angegebenen Zeilen in die angegebene Datei
WriteAllTextvoidSchreibt den angegebenen Text in die angegebene Datei

Beispiele für die Methoden Copy, Delete und Move der Klasse File im System.IO Namespace:

Copy-File

string sourceFile = @"C:\Temp\file.txt";
string destinationFile = @"C:\Temp\file_copy.txt";

File.Copy(sourceFile, destinationFile);

Delete-File

string filePath = @"C:\Temp\file.txt";

File.Delete(filePath);

Move-File

string sourceFile = @"C:\Temp\file.txt";
string destinationFile = @"C:\Temp\archive\file.txt";

File.Move(sourceFile, destinationFile);

Open-File

Die Methode mit den meisten Übergabeparameter von der Methode Open besitzt vier Parameter.

FileStream fileStream = File.Open("example.txt", FileMode.Open, FileAccess.Read, FileShare.None);

FileMode Konstanten

KonstanteBeschreibung
CreateErstellt eine neue Datei. Falls die Datei bereits existiert, wird sie überschrieben.
CreateNewErstellt eine neue Datei. Falls die Datei bereits existiert, wird eine IOException ausgelöst.
OpenÖffnet eine vorhandene Datei. Falls die Datei nicht existiert, wird eine FileNotFoundException ausgelöst.
OpenOrCreateÖffnet eine vorhandene Datei. Falls die Datei nicht existiert, wird sie erstellt.
TruncateÖffnet eine vorhandene Datei und schneidet sie auf die angegebene Länge. Falls die Datei nicht existiert, wird eine FileNotFoundException ausgelöst.
AppendÖffnet eine vorhandene Datei und setzt den Schreibzeiger ans Ende der Datei. Falls die Datei nicht existiert, wird sie erstellt.

FileAccess Konstanten

KonstanteBeschreibung
ReadZugriff zum Lesen von Dateien
WriteZugriff zum Schreiben von Dateien
ReadWriteZugriff zum Lesen und Schreiben von Dateien

FileShare Konstanten

Entschuldigung, hier ist die Tabelle mit der ersten Zeile nicht hervorgehoben:

KonstanteBeschreibung
NoneDie Datei kann nicht gemeinsam genutzt werden.
ReadNur Lesezugriffe auf die Datei sind möglich.
WriteNur Schreibzugriffe auf die Datei sind möglich.
ReadWriteLese- und Schreibzugriffe auf die Datei sind möglich.
DeleteDer Zugriff auf die Datei ist eingeschränkt, damit sie gelöscht werden kann.
InheritableErmöglicht das Öffnen von Dateien mit ererbten Zugriffsrechten.

Einfaches Lesen von Dateien

Diese Methoden lesen den Inhalt einer Datei auf unterschiedliche Weise in den Speicher und geben ihn zurück. ReadAllBytes liest den gesamten Inhalt einer Datei als Byte-Array, ReadAllLines liest jede Zeile einer Datei als separaten String in einem String-Array und ReadAllText liest den gesamten Inhalt einer Datei als String.

byte[] bytes = File.ReadAllBytes("path/to/file.txt");

string[] lines = File.ReadAllLines("path/to/file.txt");

string text = File.ReadAllText("path/to/file.txt");

Einfaches Schreiben von Dateien

Analog zum Lesen gibt es die entsprechenden Methoden zum Schreiben.

byte[] binaryData = new byte[] { 0x41, 0x42, 0x43 };
File.WriteAllBytes("binaryfile.bin", binaryData);

string textData = "Hello, world!";
File.WriteAllText("textfile.txt", textData);

string[] lines = new string[] { "Line 1", "Line 2", "Line 3" };
File.WriteAllLines("linesfile.txt", lines);

Kommentare