Dieser Artikel wurde manuell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen.
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Stream-Klasse

Stellt eine allgemeine Ansicht einer Folge von Bytes bereit.

Namespace:  System.IO
Assembly:  mscorlib (in mscorlib.dll)
[SerializableAttribute]
[ComVisibleAttribute(true)]
public abstract class Stream : MarshalByRefObject, 
	IDisposable

Der Stream-Typ macht die folgenden Member verfügbar.

  Name Beschreibung
Geschützte Methode Unterstützt von XNA Framework 8f86tw9e.PortableClassLibrary(de-de,VS.100).gif Stream Initialisiert eine neue Instanz der Stream-Klasse.
Zum Seitenanfang
  Name Beschreibung
Öffentliche Eigenschaft Unterstützt von XNA Framework 8f86tw9e.PortableClassLibrary(de-de,VS.100).gif CanRead Ruft beim Überschreiben in einer abgeleiteten Klasse einen Wert ab, der angibt, ob der aktuelle Stream Lesevorgänge unterstützt.
Öffentliche Eigenschaft Unterstützt von XNA Framework 8f86tw9e.PortableClassLibrary(de-de,VS.100).gif CanSeek Ruft beim Überschreiben in einer abgeleiteten Klasse einen Wert ab, der angibt, ob der aktuelle Stream Suchvorgänge unterstützt.
Öffentliche Eigenschaft Unterstützt von XNA Framework 8f86tw9e.PortableClassLibrary(de-de,VS.100).gif CanTimeout Ruft einen Wert ab, der bestimmt, ob für den aktuellen Stream ein Timeout möglich ist.
Öffentliche Eigenschaft Unterstützt von XNA Framework 8f86tw9e.PortableClassLibrary(de-de,VS.100).gif CanWrite Ruft beim Überschreiben in einer abgeleiteten Klasse einen Wert ab, der angibt, ob der aktuelle Stream Schreibvorgänge unterstützt.
Öffentliche Eigenschaft Unterstützt von XNA Framework 8f86tw9e.PortableClassLibrary(de-de,VS.100).gif Length Ruft beim Überschreiben in einer abgeleiteten Klasse die Länge des Streams in Bytes ab.
Öffentliche Eigenschaft Unterstützt von XNA Framework 8f86tw9e.PortableClassLibrary(de-de,VS.100).gif Position Ruft beim Überschreiben in einer abgeleiteten Klasse die Position im aktuellen Stream ab oder legt diese fest.
Öffentliche Eigenschaft Unterstützt von XNA Framework 8f86tw9e.PortableClassLibrary(de-de,VS.100).gif ReadTimeout Ruft einen Wert in Millisekunden ab, der bestimmt, wie lange der Stream versucht, Lesevorgänge durchzuführen, bevor ein Timeout auftritt, oder legt diesen fest.
Öffentliche Eigenschaft Unterstützt von XNA Framework 8f86tw9e.PortableClassLibrary(de-de,VS.100).gif WriteTimeout Ruft einen Wert in Millisekunden ab, der bestimmt, wie lange der Stream versucht, Schreibvorgänge durchzuführen, bevor ein Timeout auftritt, oder legt diesen fest.
Zum Seitenanfang
  Name Beschreibung
Öffentliche Methode Unterstützt von XNA Framework 8f86tw9e.PortableClassLibrary(de-de,VS.100).gif BeginRead Beginnt einen asynchronen Lesevorgang.
Öffentliche Methode Unterstützt von XNA Framework 8f86tw9e.PortableClassLibrary(de-de,VS.100).gif BeginWrite Beginnt einen asynchronen Schreibvorgang.
Öffentliche Methode Unterstützt von XNA Framework Close Schließt den aktuellen Stream und gibt alle dem aktuellen Stream zugeordneten Ressourcen frei (z. B. Sockets und Dateihandles).
Öffentliche Methode CopyTo(Stream) Liest alle Bytes aus dem aktuellen Datenstrom und schreibt sie in den Zieldatenstrom.
Öffentliche Methode CopyTo(Stream, Int32) Liest alles Bytes aus dem aktuellen Datenstrom und schreibt sie unter Verwendung einer angegebenen Puffergröße in einen Zieldatenstrom.
Öffentliche Methode CreateObjRef Erstellt ein Objekt mit allen relevanten Informationen, die zum Generieren eines Proxys für die Kommunikation mit einem Remoteobjekt erforderlich sind. (Von MarshalByRefObject geerbt.)
Geschützte Methode Unterstützt von XNA Framework CreateWaitHandle Veraltet. Reserviert ein WaitHandle-Objekt.
Öffentliche Methode Unterstützt von XNA Framework 8f86tw9e.PortableClassLibrary(de-de,VS.100).gif Dispose() Gibt sämtliche vom Stream verwendeten Ressourcen frei.
Geschützte Methode Unterstützt von XNA Framework 8f86tw9e.PortableClassLibrary(de-de,VS.100).gif Dispose(Boolean) Gibt die vom Stream verwendeten nicht verwalteten Ressourcen und optional auch die verwalteten Ressourcen frei.
Öffentliche Methode Unterstützt von XNA Framework 8f86tw9e.PortableClassLibrary(de-de,VS.100).gif EndRead Wartet, bis der ausstehende asynchrone Lesevorgang abgeschlossen ist.
Öffentliche Methode Unterstützt von XNA Framework 8f86tw9e.PortableClassLibrary(de-de,VS.100).gif EndWrite Beendet einen asynchronen Schreibvorgang.
Öffentliche Methode Unterstützt von XNA Framework 8f86tw9e.PortableClassLibrary(de-de,VS.100).gif Equals(Object) Bestimmt, ob das angegebene Object und das aktuelle Object gleich sind. (Von Object geerbt.)
Geschützte Methode Unterstützt von XNA Framework 8f86tw9e.PortableClassLibrary(de-de,VS.100).gif Finalize Gibt einem Objekt Gelegenheit zu dem Versuch, Ressourcen freizugeben und andere Bereinigungen durchzuführen, bevor es von der automatische Speicherbereinigung freigegeben wird. (Von Object geerbt.)
Öffentliche Methode Unterstützt von XNA Framework 8f86tw9e.PortableClassLibrary(de-de,VS.100).gif Flush Löscht beim Überschreiben in einer abgeleiteten Klasse alle Puffer für diesen Stream und veranlasst die Ausgabe aller gepufferten Daten an das zugrunde liegende Gerät.
Öffentliche Methode Unterstützt von XNA Framework 8f86tw9e.PortableClassLibrary(de-de,VS.100).gif GetHashCode Fungiert als Hashfunktion für einen bestimmten Typ. (Von Object geerbt.)
Öffentliche Methode GetLifetimeService Ruft das aktuelle Lebensdauerdienstobjekt ab, das die Lebensdauerrichtlinien für diese Instanz steuert. (Von MarshalByRefObject geerbt.)
Öffentliche Methode Unterstützt von XNA Framework 8f86tw9e.PortableClassLibrary(de-de,VS.100).gif GetType Ruft den Type der aktuellen Instanz ab. (Von Object geerbt.)
Öffentliche Methode InitializeLifetimeService Ruft ein Lebensdauerdienstobjekt ab, mit dem die Lebensdauerrichtlinien für diese Instanz gesteuert werden können. (Von MarshalByRefObject geerbt.)
Geschützte Methode Unterstützt von XNA Framework 8f86tw9e.PortableClassLibrary(de-de,VS.100).gif MemberwiseClone() Erstellt eine flache Kopie des aktuellen Object. (Von Object geerbt.)
Geschützte Methode MemberwiseClone(Boolean) Erstellt eine flache Kopie des aktuellen MarshalByRefObject-Objekts. (Von MarshalByRefObject geerbt.)
Geschützte Methode ObjectInvariant Infrastruktur. Bietet Unterstützung für das Contract.
Öffentliche Methode Unterstützt von XNA Framework 8f86tw9e.PortableClassLibrary(de-de,VS.100).gif Read Liest beim Überschreiben in einer abgeleiteten Klasse eine Folge von Bytes aus dem aktuellen Stream und erhöht die Position im Stream um die Anzahl der gelesenen Bytes.
Öffentliche Methode Unterstützt von XNA Framework 8f86tw9e.PortableClassLibrary(de-de,VS.100).gif ReadByte Liest ein Byte aus dem Stream und erhöht die Position im Stream um ein Byte, oder gibt -1 zurück, wenn das Ende des Streams erreicht ist.
Öffentliche Methode Unterstützt von XNA Framework 8f86tw9e.PortableClassLibrary(de-de,VS.100).gif Seek Legt beim Überschreiben in einer abgeleiteten Klasse die Position im aktuellen Stream fest.
Öffentliche Methode Unterstützt von XNA Framework 8f86tw9e.PortableClassLibrary(de-de,VS.100).gif SetLength Legt beim Überschreiben in einer abgeleiteten Klasse die Länge des aktuellen Streams fest.
Öffentliche Methode Statischer Member Synchronized Erstellt um das angegebene Stream-Objekt einen threadsicheren (synchronisierten) Wrapper.
Öffentliche Methode Unterstützt von XNA Framework 8f86tw9e.PortableClassLibrary(de-de,VS.100).gif ToString Gibt eine Zeichenfolge zurück, die das aktuelle Objekt darstellt. (Von Object geerbt.)
Öffentliche Methode Unterstützt von XNA Framework 8f86tw9e.PortableClassLibrary(de-de,VS.100).gif Write Schreibt beim Überschreiben in einer abgeleiteten Klasse eine Folge von Bytes in den aktuellen Stream und erhöht die aktuelle Position im Stream um die Anzahl der geschriebenen Bytes.
Öffentliche Methode Unterstützt von XNA Framework 8f86tw9e.PortableClassLibrary(de-de,VS.100).gif WriteByte Schreibt ein Byte an die aktuellen Position im Stream und erhöht die aktuelle Position im Stream um ein Byte.
Zum Seitenanfang
  Name Beschreibung
Öffentliches Feld Statischer Member Unterstützt von XNA Framework 8f86tw9e.PortableClassLibrary(de-de,VS.100).gif Null Ein Stream ohne Sicherungsspeicher.
Zum Seitenanfang

Streams umfassen drei grundlegende Vorgänge:

  1. Streams können gelesen werden. Bei einem Lesevorgang werden Daten von einem Stream in eine Datenstruktur übertragen, beispielsweise in ein Bytearray.

  2. In Streams kann geschrieben werden. Bei einem Schreibvorgang werden Daten aus einer Datenstruktur in einen Stream übertragen.

  3. Streams können Suchvorgänge unterstützen. Bei einem Suchvorgang wird die aktuelle Position in einem Stream abgefragt und bearbeitet. Die Suchfunktion ist von der Art des Sicherungsspeichers eines Streams abhängig. Netzwerkstreams verfügen beispielsweise über kein einheitliches Konzept einer aktuellen Position und unterstützen daher das Suchen in der Regel nicht.

Stream ist die abstrakte Basisklasse aller Streams. Ein Stream ist ein Modell für eine Folge von Bytes, wie eine Datei, ein Eingabe-/Ausgabegerät, eine Pipe für die Kommunikation zwischen Prozessen oder ein TCP/IP-Socket. Die Stream-Klasse und die davon abgeleiteten Klassen stellen eine allgemeine Ansicht dieser unterschiedlichen Eingabe- und Ausgabetypen bereit, sodass Programmierer sich nicht mit den Einzelheiten des Betriebssystems und der zugrunde liegenden Geräten befassen müssen.

Abhängig von der zugrunde liegenden Datenquelle oder vom Repository unterstützen Streams möglicherweise nur einige dieser Funktionen. Eine Anwendung kann die Funktionen eines Streams mithilfe der CanRead-Eigenschaft, der CanWrite-Eigenschaft und der CanSeek-Eigenschaft abfragen.

Die Read-Methode und die Write-Methode lesen und schreiben Daten in verschiedenen Formaten. Bei Streams, die das Suchen unterstützen, verwenden Sie die Seek-Methode und die SetLength-Methode sowie die Position-Eigenschaft und die Length-Eigenschaft, um die aktuelle Position und Länge eines Streams abzufragen und zu bearbeiten.

Einige der Implementierungen von Streams speichern die zugrunde liegenden Daten lokal im Puffer, um die Leistung zu verbessern. Bei diesen Streams können Sie mit der Flush-Methode die internen Puffer löschen und sicherstellen, dass alle Daten in die zugrunde liegende Datenquelle oder das Repository geschrieben werden.

Close auf einem Stream aufzurufen leert alle gepufferten Daten, insbesondere wenn Flush aufgerufen wird. Close gibt auch Betriebssystemressourcen z. B. Dateihandles, Netzwerkverbindungen oder den Arbeitsspeicher frei, der für eine interne Pufferung verwendet wurde. Durch die BufferedStream-Klasse kann ein gepufferter Stream Wrapper eines anderen Streams werden, sodass die Lese- und Schreibleistung verbessert wird.

Wenn Sie einen Stream ohne Sicherungsspeicher benötigen (auch als Bitbucket bezeichnet), verwenden Sie Null.

Hinweise zur Implementierung

Beim Implementieren einer von Stream abgeleiteten Klasse müssen Sie Implementierungen für die Read-Methode und die Write-Methode bereitstellen. Die asynchronen Methoden BeginRead, EndRead, BeginWrite und EndWrite werden durch die synchronen Methoden Read und Write implementiert. Ebenso funktioniert die Implementierung von Read und Write auch mit den asynchronen Methoden. In den Standardimplementierungen von ReadByte und WriteByte wird ein neues, aus einem Element bestehendes Bytearray erstellt und anschließend die Implementierung der Read-Methode und der Write-Methode aufgerufen. Wenn Sie von Stream ableiten und über einen internen Bytepuffer verfügen, sollten Sie diese Methoden unbedingt überschreiben, sodass auf den internen Puffer bei besserer Leistung zugegriffen wird. Stellen Sie Implementierungen von CanRead, CanSeek, CanWrite, Flush, Length, Position, Seek und SetLength bereit.

Überschreiben Sie nicht die Close-Methode. Legen Sie stattdessen die gesamte Stream-Bereinigungslogik in der Dispose-Methode ab. Weitere Informationen finden Sie unter Implementieren einer Dispose-Methode.

.NET Framework

Unterstützt in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Unterstützt in:

Windows 7, Windows Vista SP1 oder höher, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core wird nicht unterstützt), Windows Server 2008 R2 (Server Core wird mit SP1 oder höher unterstützt), Windows Server 2003 SP2

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Alle öffentlichen static (Shared in Visual Basic)-Member dieses Typs sind threadsicher. Bei Instanzmembern ist die Threadsicherheit nicht gewährleistet.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)
Community-Inhalt Hinzufügen
Anmerkungen FAQ
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?