Freigeben über


Grundlagen zu Datei-E/A-Vorgängen und dem Dateisystem in .NET Framework (Visual Basic)

Klassen im System.IO-Namespace werden zum Arbeiten mit Laufwerken, Dateien und Verzeichnissen verwendet.

Der System.IO-Namespace enthält die Klassen File und Directory, mit denen die Funktionalität von .NET Framework zum Ändern von Dateien und Verzeichnissen bereitgestellt wird. Da die Methoden dieser Objekte statische oder freigegebene Member sind, können Sie diese direkt verwenden, ohne zuerst eine Instanz der Klasse erstellen zu müssen. Die Klassen FileInfo und DirectoryInfo werden diesen Klassen zugeordnet und sind den Benutzern der My-Funktion bekannt. Zum Verwenden dieser Klassen müssen Sie die Namen vollständig qualifizieren oder die entsprechenden Namespaces durch Einschließen des Imports -Arguments (bzw. der Argumente) am Anfang des betreffenden Codes importieren. Weitere Informationen finden Sie unter Imports-Anweisung (.NET-Namespace und -typ).

Hinweis

Weitere Themen in diesem Abschnitt verwenden das Objekt My.Computer.FileSystem anstelle der System.IO -Klassen zum Arbeiten mit Laufwerken, Dateien und Verzeichnissen. Das Objekt My.Computer.FileSystem dient in erster Linie zur Verwendung in Visual Basic-Programmen. System.IO-Klassen sind für die Verwendung durch eine beliebige Sprache vorgesehen, die .NET Framework, einschließlich Visual Basic, unterstützen.

Definition eines Streams

.NET Framework verwendet Streams, um das Lesen von und Schreiben in Dateien zu unterstützen. Sie können sich einen Stream als eindimensionalen Satz von zusammenhängenden Daten mit einem Anfang und einem Ende vorstellen, bei dem der Cursor die derzeitige Position im Stream anzeigt.

Cursor shows current position in the filestream.

Streamoperationen

Die im Stream enthaltenen Daten stammen möglicherweise aus dem Arbeitsspeicher, einer Datei oder einem TCP/IP-Socket. Streams verfügen über grundlegende Operationen, die auf sie angewendet werden können.

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

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

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

Weitere Informationen finden Sie unter Erstellen von Streams.

Arten von Streams

In .NET Framework wird ein Stream von der Stream-Klasse dargestellt, die die abstrakte Klasse für alle anderen Streams bildet. Sie können nicht direkt eine Instanz der Stream-Klasse erstellen, doch Sie müssen eine der Klassen verwenden, die diese implementiert.

Es existieren viele Arten von Streams, doch für die Arbeit mit Dateieingabe und-ausgabe sind die wichtigsten Typen die FileStream-Klasse, die eine Möglichkeit bietet, aus Dateien zu lesen und in diese zu schreiben sowie die IsolatedStorageFileStream-Klasse, die die Möglichkeit bietet, Dateien und Verzeichnisse in einem isolierten Speicher zu erstellen. Andere Streams, die für die Arbeit mit Dateieingabe und -ausgabe verwendet werden können, sind:

In der nachstehenden Tabelle werden Aufgaben aufgeführt, die häufig mit einem Stream durchgeführt werden:

Beschreibung Siehe
Lesen und Schreiben in einer Datendatei How to: Vorgehensweise: Lesen von bzw. Schreiben in eine neu erstellte Datendatei
Lesen von Text aus einer Datei How to: Lesen von Text aus einer Datei
Schreiben von Text in eine Datei How to: Schreiben von Text in eine Datei
Lesen von Zeichen aus einer Zeichenfolge Vorgehensweise: Lesen von Zeichen aus einer Zeichenfolge
Schreiben von Zeichen in eine Zeichenfolge Vorgehensweise: Schreiben von Zeichen in eine Zeichenfolge
Verschlüsseln von Daten Verschlüsseln von Daten
Entschlüsseln von Daten Entschlüsseln von Daten

Dateizugriff und Dateiattribute

Sie können steuern, wie Dateien erstellt, geöffnet und mit den Enumerationen FileAccess, FileMode und FileShare freigegeben werden, die die von den Konstruktoren der FileStream-Klasse verwendeten Flags enthalten. Wenn Sie z.B. einen neuen FileStream öffnen oder erstellen, lässt die FileMode-Enumeration zu, dass Sie angeben, ob die Datei zum Anfügen geöffnet ist, ob eine neue Datei erstellt wird, falls die angegebene Datei nicht vorhanden ist, ob die Datei überschrieben wird usw.

Die FileAttributes-Enumeration ermöglicht das Sammeln von dateispezifischen 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 die Tasks bezüglich Dateizugriff und Dateiattributen aufgelistet.

Beschreibung Siehe
Öffnen und Anfügen an eine Protokolldatei How to: Öffnen und Anfügen an eine Protokolldatei
Festlegen der Attribute einer Datei FileAttributes

Dateiberechtigungen

Die Steuerung des Zugriffs auf Dateien und Verzeichnisse kann mit der FileIOPermission-Klasse vorgenommen werden. Dies kann möglicherweise besonders wichtig für Entwickler mit Web Forms sein, die standardmäßig im Kontext eines bestimmten lokalen Benutzerkontos namens ASPNET ausgeführt werden, das im Rahmen der ASP.NET- und .NET Framework-Installation erstellt wird. Wenn solch eine Anwendung den Zugriff auf eine Ressource anfordert, verfügt das ASPNET-Benutzerkonto über eingeschränkte Berechtigungen, was dazu führen kann, dass der Benutzer an der Ausführung von Aktionen, z.B. dem Schreiben in eine Datei über eine Webanwendung, gehindert wird. Weitere Informationen finden Sie unter FileIOPermission.

Isolierte Dateispeicherung

Die isolierte Speicherung versucht die Probleme zu lösen, die bei der Arbeit mit Dateien auftreten, wenn der Benutzer oder der Code nicht die notwendigen Berechtigungen aufweist. Die isolierte Speicherung weist jedem Benutzer ein Datendepot zu, das einen oder mehrere Speicher enthalten kann. Speicher können voneinander nach Benutzer und Assembly isoliert werden. Nur der Benutzer oder die Assembly, der bzw. die einen Speicher erstellt hat, verfügt über Zugriff auf ihn. Ein Speicher verhält sich wie ein vollständiges virtuelles Dateisystem. Sie können innerhalb eines Speichers Verzeichnisse und Dateien erstellen und bearbeiten.

In der nachstehenden Tabelle werden die Aufgaben aufgelistet, die häufig dem isolierten Datenspeicher zugeordnet sind.

Beschreibung Siehe
Erstellen eines isolierten Speichers How to: Erhalten von Speichern für isolierten Speicher
Auflisten von isolierten Speichern How to: Auflisten von Speichern für isolierten Speicher
Löschen eines isolierten Speichers How to: Löschen von Speichern im isolierten Speicher
Erstellen einer Datei oder eines Verzeichnisses im isolierten Speicher How to: Erstellen von Dateien und Verzeichnissen in isoliertem Speicher
Suchen einer Datei im isolierten Speicher How to: Suchen von vorhandenen Dateien und Verzeichnissen im isolierten Speicher
Lesen aus oder Schreiben in einer Datei im isolierten Speicher How to: Lesen von bzw. Schreiben in Dateien im isolierten Speicher
Löschen einer Datei oder eines Verzeichnisses im isolierten Speicher How to: Löschen von Dateien und Verzeichnissen in isoliertem Speicher

Dateiereignisse

Mit der Komponente von FileSystemWatcher können Sie Änderungen in Dateien und Verzeichnissen in Ihrem System oder auf jedem beliebigen Computer, auf dem Sie über Netzwerkzugriff verfügen, überwachen. Wenn z.B. eine Datei verändert wird, möchten Sie möglicherweise eine Warnung an einen Benutzer versenden, dass die Änderung durchgeführt wurde. Wenn Änderungen auftreten, werden ein Ereignis oder mehrere Ereignisse ausgelöst, in einem Puffer gespeichert und an die FileSystemWatcher-Komponente für die Verarbeitung übermittelt.

Weitere Informationen