Bytes im Griff mit der Stream-Klasse: FileStream

Wenn Sie ein Abonnement des Magazins 'DATENBANKENTWICKLER' besitzen, können Sie sich anmelden und den kompletten Artikel lesen.
Anderenfalls können Sie das Abonnement hier im Shop erwerben.

Bytes im Griff mit der Stream-Klasse: FileStream

Die Stream-Klasse ist die Basisklasse für verschiedene Stream-Klassen wie FileStream oder MemoryStream. Streams bieten die Möglichkeit, Byte-genau schreibend wie lesend auf Daten aus Dateien, dem Arbeitsspeicher oder dem Netzwerk zuzugreifen. Dieser Artikel zeigt, welche Stream-Klassen es gibt und geht genauer auf die FileStream-Klasse ein. Dabei zeigen wir, wie Sie mit dieser Klasse lesend und schreibend auf den Inhalt von Dateien zugreifen und den Inhalt mit Byte-Arrays austauschen.

Verschiedene Stream-Klassen

Es gibt folgende von der Stream-Klasse abgeleitete Klassen:

  • BufferedStream: Puffert Daten aus E/A-Datenströmen im Arbeitsspeicher.
  • CryptoStream: Verschlüsselt Daten.
  • FileStream: Schreibt Daten in Dateien im Dateisystem.
  • GZipStream: Komprimiert und dekomprimiert Streams.
  • MemoryStream: Schreibt einen Stream in den Hauptspeicher statt in eine temporäre Datei.
  • NetworkStream: Erlaubt den Zugriff auf Netzwerkressourcen.

Wir wollen uns in diesem Artikel auf die FileStream- und die MemoryStream-Klasse konzentrieren.

Die FileStream-Klasse

Mit der FileStream-Klasse können Sie byteweise aus Dateien lesen und in Dateien schreiben sowie einen Positionszeiger in einen Stream setzen. Der FileStream puffert dabei die Daten (bis zu acht Kilobyte). Wenn Sie ein Objekt auf Basis der FileStream-Klasse erzeugen wollen, können Sie per Konstruktor verschiedene Parameter übergeben:

  • path: Pfad der zu lesenden oder schreibenden Datei
  • mode: Modus für den Dateizugriff. Die Enumeration FileMode bietet folgende Werte: Append, Create, CreateNew, Open, OpenOrCreate, Truncate
  • access: Art des Dateizugriffs mit folgenden Werten der Enumeration FileAccess: Read, ReadWrite, Write
  • share: Gibt an, ob gemeinsamer Zugriff auf die Datei möglich ist. Die Enumeration FileShare liefert dazu die folgenden möglichen Werte: Delete, Inheritable, None, Read, ReadWrite, Write
  • bufferSize: Erlaubt das Ändern der Größe des Puffers auf einen anderen Wert als acht Kilobyte.
  • bool: Gibt an, ob asynchrone Zugriffe möglich sein sollen.

Byte-Array in eine Datei schreiben

Dies war die Leseprobe dieses Artikels.
Melden Sie sich an, um auf den vollständigen Artikel zuzugreifen.

Bitte geben Sie die Zeichenfolge in das nachfolgende Textfeld ein

Die mit einem * markierten Felder sind Pflichtfelder.

Neues aus unseren Magazinen
Listenfeld: Reihenfolge mehrerer Einträge...

Wir haben bereits in mehreren Beiträgen beschrieben, wie Sie die individuelle Reihenfolge von Elementen einer Tabelle über den Inhalt eines Feldes etwa namens »ReihenfolgeID« einstellen können –... [mehr]

Diagramme mit gefilterten Daten

In Ausgabe 2/2019 haben wir in zwei Artikeln die modernen Diagramme von Access vorgestellt. Im vorliegenen Beitrag zeigen wir Ihnen, wie Sie diese abhängig von den in einem Formular angezeigten... [mehr]

Benutzerverwaltung mit verschlüsselten...

Wenn Sie in einer Access-Anwendung Benutzer verwalten wollen, die sich per Benutzername und Kennwort an die Anwendung anmelden, sollten Sie sehr sensibel mit den in der Anwendung gespeicherten... [mehr]

HTML-Tabellen mit fester Kopfzeile

In den vorherigen Ausgaben von Access im Unternehmen und in der aktuellen Ausgabe arbeiten wir in einigen Beiträgen mit dem Webbrowser-Steuerelement und stellen Daten, die wir mit den Bordmitteln... [mehr]

Flexible HTML-Tabellen mit fester Kopfzeile

Im Beitrag »HTML-Tabellen mit fester Kopfzeile« haben wir gezeigt, wie Sie Daten aus einer bestimmten Abfrage in einem Webbrowser-Steuerelement so anzeigen, dass die Spaltenköpfe oben fixiert... [mehr]

Berechtigungen per HTML verwalten

Im Beitrag »Benutzerverwaltung mit verschlüsselten Kennwörtern« stellen wir eine Lösung vor, in der wir die Berechtigungen von Benutzergruppen an Datenbankobjekten definieren. Dort benötigen wir... [mehr]

Benutzer und Berechtigungen ermitteln

In den Beiträgen »Benutzerverwaltung mit verschlüsselten Kennwörtern« und »Berechtigungen per HTML verwalten« haben wir die Voraussetzungen für eine Benutzerverwaltung geschaffen. Im vorliegenden... [mehr]

Zugriffsrechte mit Datenmakros

Es gibt verschiedene Möglichkeiten, auf Basis des aktuell angemeldeten Benutzers sicherzustellen, dass dieser nur die für ihn vorgesehenen Aktionen mit Daten durchführen darf – beispielsweise durch... [mehr]

Kennwörter generieren

Für den einen oder anderen Zweck möchten Sie vielleicht Kennwörter generieren oder in einer Benutzeroberfläche die Möglichkeit zum Generieren von Kennwörtern anbieten. Wenn Sie etwa Benutzer zu... [mehr]

Neuer Datensatz von Frontend zu Backend

Für manche Themen gibt es keine kurze, prägnante Überschrift. In diesem Fall wollen wir zeigen, wie Sie einen neuen Datensatz anlegen, der in einer temporären Tabelle im Frontend gespeichert wird,... [mehr]