Appendix T. Streams

Visual Studio provides several classes that treat data as a stream. These classes are not difficult to use, but they are similar enough to be confusing. This appendix summarizes the stream classes and describes their properties and their methods.

Stream Class Summary

The following table lists the Visual Studio stream classes. It can provide you with some guidance for selecting a stream class.

Class

Purpose

Stream

A generic stream class. This is a virtual (MustInherit) class, so you cannot create one directly. Instead, you must instantiate one of its subclasses.

FileStream

Represents a file as a stream. Usually, you can use a helper class such as BinaryReader or TextWriter to make working with a FileStream easier.

MemoryStream

Lets you read and write stream data in memory. This is useful when you need a stream but don't want to read or write a file.

BufferedStream

Adds buffering to another stream type. This sometimes improves performance on relatively slow underlying devices.

BinaryReader, BinaryWriter

Read and write data from an underlying stream using routines that manage specific data types (such as ReadDouble and ReadUInt16).

TextReader, TextWriter

These virtual (MustInherit) classes define methods that make working with text on an underlying stream easier.

StringReader, StringWriter

These classes inherit from TextReader and TextWriter. They provide methods for reading and writing text into an underlying string.

StreamReader, StreamWriter

These classes inherit from TextReader ...

Get Visual Basic® 2008 Programmer's Reference now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.