Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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.
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.