TOC

This article has been localized into Dutch by the community.

Data Stromen (Streams):

Inleiding

In het .NET framework wordt het concept Streams gebruikt als je data wilt lezen en/of schrijven van en naar een brede reeks bronnen/bestemmingen, bv. het geheugen, een bestand, via een netwerkverbinding of elke andere situatie waar je bytes wilt overbrengen van de ene plaats naar de andere.

Bij het werken met vele van de IO-gerelateerde classes in het .NET framework, zul je zien dat ze methods hebben die een parameter accepteren van het type Stream. Stream is de basis class voor het omgaan met strings en kan vele vormen aannemen, bv. een MemoryStream of een FileStream, zoals we gaan zien in de volgende artikelen. Echter, de Stream class zelf is abstract, wat betekent dat je hem niet kunt aanmaken. Hij dient alleen maar als gemeenschappelijke basisclass voor de diverse typen van streams.

De meeste Stream typen kunnen drie dingen doen: Lezen (Read), Schrijven (Write) en Zoeken (Seek) (overbrengen naar een nieuwe plaats in de stream, om te lezen of schrijven vanaf daar in plaats vanaf de huidige positie). Daarom implementeert de Stream class drie methods om te beslissen of de afgeleide stream class al of niet dit kan doen: CanRead, CanWrite en CanSeek. Je kunt deze properties altijd raadplegen bij de stream waarmee je werkt, om er zeker van te zijn dat de door jou gewenste operatie (bv. schrijven (writing)) beschikbaar is.

Een Stream moet altijd kunnen worden beëindigd als je ermee klaar bent. Anders zou hij een hulpmiddel kunnen blokkeren dat niet meer geblokkeerd moet worden, bv. een bestand als je bezig bent met FileStream. De Stream basis class implementeert het IDisposable interface, dus het opstarten daarvan is even gemakkelijk als het aanroepen van de Dispose() method, of, misschien zelfs beter, het gebruik van de stream inkapselen met een using() block (en dat doen we in dit tutorial).

Stream Readers & Writers

Een algemeen gebruik van streams is om een van de Reader of Writer classes tot steun te zijn, bv. FileReader of BinaryWriter. Je kunt je streams doorgeven aan nieuwe exemplaren van deze classes om bv. een heel bestand te lezen, het in het geheugen te bewerken en dan terug te schrijven; er zijn tal van mogelijkheden. We gaan dit ook zien in de volgende artikelen.

Samenvatting

Een stream is in feite een mechanisme om bytes van de ene plek naar de ander te verplaatsen, bv. naar een bestand of vanuit een netwerk bron. Het .NET framework gebruikt de abstracte Stream class voor al deze dingen, en biedt daarbij diverse afgeleide implementaties ervan, bv. FileStream en MemoryStream, die we in de volgende artikelen gaan bespreken.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!