Name
Stream
Synopsis
This class is the basic building block of I/O in the .NET Framework.
Many types of application use a Stream
in one way or another. When calling System.Console.WriteLine()
, you use a TextWriter
, which contains a StreamWriter
. When you design an
ASP.NET application, the System.Web.UI.Page
uses a System.Net.Sockets.NetworkStream
. In fact,
whenever you access a remote database server you are using a NetworkStream
.
To
determine whether a given Stream
can
read, write, or seek, check CanRead
, CanWrite
, or CanSeek
respectively. If your
stream can seek, you may seek forward or backward using Seek()
. Length
reveals the length of
the stream, which can also be set by calling SetLength()
, and Position
allows you to check
your current position in the stream.
To perform asynchronous I/O, call BeginRead()
or BeginWrite()
. Notification of an
asynchronous operation comes in two ways: either via an System.AsyncCallback
delegate callback passed in
as part of
the BeginRead()
/BeginWrite()
call, or else by calling the EndRead()
or EndWrite()
method
explicitly, which blocks the calling
thread until the async operation completes.
Streams usually hold on to a precious resource (a network connection or a file
handle), which should be freed as soon as it is not needed any
more. Because destruction is completely
nondeterministic with garbage collection, be sure to call Close()
at the end of the Stream
’s useful lifetime. (Alternatively, call Dispose()
— which in turn calls Close()
— when ...
Get VB.NET Core Classes in a Nutshell 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.