Freigeben über


Grundlagen von Datei-Ein- und Ausgabe im .NET Framework und des Dateisystems (Visual Basic)

Klassen im System.IO Namespace werden verwendet, um mit Laufwerken, Dateien und Verzeichnissen zu arbeiten.

Der System.IO-Namespace enthält die Klassen File und Directory, die die .NET Framework-Funktionalität bereitstellen, die Dateien und Verzeichnisse verarbeitet. Da die Methoden dieser Objekte statische oder geteilte Mitglieder sind, können Sie sie direkt verwenden, ohne zuerst eine Instanz der Klasse zu erstellen. Mit diesen Klassen sind die FileInfo- und DirectoryInfo-Klassen verbunden, die den Benutzern des My-Merkmals vertraut sein werden. Um diese Klassen zu verwenden, müssen Sie die Namen vollständig qualifizieren oder die entsprechenden Namespaces importieren, indem Sie die Imports Anweisungen am Anfang des betroffenen Codes einschließen. Weitere Informationen finden Sie unter Imports-Anweisung (.NET-Namespace und -typ).

Hinweis

Andere Themen in diesem Abschnitt verwenden das My.Computer.FileSystem Objekt anstelle von System.IO Klassen, um mit Laufwerken, Dateien und Verzeichnissen zu arbeiten. Das My.Computer.FileSystem Objekt ist in erster Linie für die Verwendung in Visual Basic-Programmen vorgesehen. System.IO Klassen sind für die Verwendung durch jede Sprache vorgesehen, die .NET Framework unterstützt, einschließlich Visual Basic.

Definition eines Datenstroms

.NET Framework verwendet Datenströme, um das Lesen und Schreiben in Dateien zu unterstützen. Sie können sich einen Datenstrom als einen eindimensionalen Satz zusammenhängender Daten vorstellen, der einen Anfang und ein Ende aufweist und an der der Cursor die aktuelle Position im Datenstrom angibt.

Der Cursor zeigt die aktuelle Position im Dateistream an.

Stream-Vorgänge

Die im Datenstrom enthaltenen Daten können aus dem Speicher, einer Datei oder einem TCP/IP-Socket stammen. Datenströme verfügen über grundlegende Vorgänge, die auf sie angewendet werden können:

  • Lesen. Sie können aus einem Datenstrom lesen und Daten aus dem Datenstrom in eine Datenstruktur übertragen, z. B. eine Zeichenfolge oder ein Bytearray.

  • Schreiben. Sie können in einen Datenstrom schreiben und Daten aus einer Datenquelle in den Datenstrom übertragen.

  • Suchen. Sie können Ihre Position im Datenstrom abfragen und ändern.

Weitere Informationen finden Sie unter "Composing Streams".

Typen von Datenströmen

In .NET Framework wird ein Datenstrom durch die Stream Klasse dargestellt, die die abstrakte Klasse für alle anderen Datenströme bildet. Sie können keine Instanz der Stream Klasse direkt erstellen, müssen aber eine der implementierten Klassen verwenden.

Es gibt viele Arten von Datenströmen, aber für die Arbeit mit Dateieingabe/Ausgabe (E/A) sind die wichtigsten Typen die FileStream Klasse, die eine Möglichkeit zum Lesen und Schreiben in Dateien bietet, und die IsolatedStorageFileStream Klasse, die eine Möglichkeit zum Erstellen von Dateien und Verzeichnissen im isolierten Speicher bietet. Andere Datenströme, die beim Arbeiten mit Datei-E/A verwendet werden können, umfassen:

In der folgenden Tabelle sind aufgaben aufgeführt, die häufig mit einem Datenstrom ausgeführt werden:

Bis Weitere Informationen
Lesen und Schreiben in eine Datendatei Vorgehensweise: Lesen und Schreiben in eine neu erstellte Datendatei
Text aus einer Datei lesen Vorgehensweise: Lesen von Text aus einer Datei
Schreiben von Text in eine Datei Vorgehensweise: Schreiben von Text in eine Datei
Zeichen aus einem String lesen Vorgehensweise: Lesen von Zeichen aus einer Zeichenfolge
Schreiben von Zeichen in eine Zeichenfolge So schreiben Sie Zeichen in eine Zeichenfolge
Verschlüsseln von Daten Verschlüsseln von Daten
Entschlüsseln von Daten Entschlüsseln von Daten

Dateizugriff und Attribute

Sie können steuern, wie Dateien erstellt, geöffnet und freigegeben werden, durch die Enumerationen FileAccess, FileMode und FileShare, die die Flags enthalten, die von den Konstruktoren der FileStream Klasse verwendet werden. Wenn Sie z. B. eine neue FileStreamDatei öffnen oder erstellen, können Sie mit der FileMode Enumeration angeben, ob die Datei zum Anfügen geöffnet wird, ob eine neue Datei erstellt wird, wenn die angegebene Datei nicht vorhanden ist, ob die Datei überschrieben wird usw.

Die FileAttributes Aufzählung ermöglicht das Sammeln dateispezifischer Informationen. Die FileAttributes Enumeration gibt die gespeicherten Attribute der Datei zurück, z. B. ob sie komprimiert, verschlüsselt, ausgeblendet, schreibgeschützt, ein Archiv, ein Verzeichnis, eine Systemdatei oder eine temporäre Datei ist.

In der folgenden Tabelle sind Aufgaben mit Dateizugriff und Dateiattributen aufgeführt:

Bis Weitere Informationen
Öffnen und Anfügen von Text an eine Protokolldatei Vorgehensweise: Öffnen und Anfügen an eine Protokolldatei
Bestimmen der Attribute einer Datei FileAttributes

Dateiberechtigungen

Die Steuerung des Zugriffs auf Dateien und Verzeichnisse kann mit der FileIOPermission Klasse erfolgen. Dies kann besonders wichtig für Entwickler sein, die mit Web Forms arbeiten, die standardmäßig im Kontext eines speziellen lokalen Benutzerkontos namens ASPNET ausgeführt werden, das als Teil der ASP.NET- und .NET Framework-Installationen erstellt wird. Wenn eine solche Anwendung den Zugriff auf eine Ressource anfordert, verfügt das ASPNET-Benutzerkonto über eingeschränkte Berechtigungen, wodurch verhindert werden kann, dass der Benutzer Aktionen ausführt, z. B. das Schreiben in eine Datei aus einer Webanwendung. Weitere Informationen finden Sie unter FileIOPermission.

Isolierter Dateispeicher

Isolierter Speicher ist ein Versuch, Probleme zu lösen, die beim Arbeiten mit Dateien auftreten, wenn Benutzer oder Code möglicherweise nicht über die erforderlichen Berechtigungen verfügen. Der isolierte Speicher weist jedem Benutzer ein Datenfach zu, das einen oder mehrere Speicher enthalten kann. Speicher können voneinander nach Benutzer und Assembly isoliert werden. Nur der Benutzer und die Assembly, der einen Speicher erstellt hat, haben Zugriff darauf. Ein Speicher fungiert als vollständiges virtuelles Dateisystem – innerhalb eines Speichers können Sie Verzeichnisse und Dateien erstellen und bearbeiten.

In der folgenden Tabelle sind Aufgaben aufgeführt, die häufig mit der isolierten Dateispeicherung verknüpft sind.

Bis Weitere Informationen
Erstellen eines isolierten Speichers Gewusst wie: Abrufen von Speichern für isolierte Datenspeicherung
Aufzählung isolierter Geschäfte Vorgehensweise: Enumerieren von Speichern für isolierten Speicher
Löschen eines isolierten Speichers Vorgehensweise: Löschen von Speichern im isolierten Speicher
Erstellen einer Datei oder eines Verzeichnisses im isolierten Speicher Vorgehensweise: Erstellen von Dateien und Verzeichnissen im isolierten Speicher
Suchen einer Datei im isolierten Speicher Vorgehensweise: Suchen vorhandener Dateien und Verzeichnisse im isolierten Speicher
Lesen von oder Schreiben in eine Datei im isolierten Speicher Vorgehensweise: Lesen und Schreiben in Dateien im isolierten Speicher
Löschen einer Datei oder eines Verzeichnisses im isolierten Speicher Vorgehensweise: Löschen von Dateien und Verzeichnissen im isolierten Speicher

Dateiereignisse

Mit der FileSystemWatcher Komponente können Sie auf Änderungen an Dateien und Verzeichnissen auf Ihrem System oder auf jedem Computer, auf den Sie Netzwerkzugriff haben, überwachen. Wenn beispielsweise eine Datei geändert wird, können Sie einem Benutzer eine Benachrichtigung senden, dass die Änderung stattgefunden hat. Wenn Änderungen vorgenommen werden, werden ein oder mehrere Ereignisse ausgelöst, in einem Puffer gespeichert und zur Verarbeitung an die FileSystemWatcher Komponente übergeben.

Siehe auch