Chapter 9. System.IO
The System.IO
types serve as the primary means for
stream-oriented I/O — files, principally, although the MustInherit types
defined here serve as base classes for other forms of I/O, such as the XML
stack in System.Xml
. The System.IO
namespace is shown in Figure 9-1 and Figure 9-2.
The System.IO
namespace can be seen as two
distinct partitions: a set of utility types for using and working with the
local machine’s filesystem, and a protocol stack for working with bytestream-oriented
input and output. The former partition is the collection of classes such as Directory
and FileSystemWatcher
,
whereas the latter partition is the set of Stream
and Reader/Writer
types.
The Stream
types in System.IO
follow a basic object
model, similar to the I/O model used by the
C/C++ runtime library: all serial byte access is a stream, and
there are different sources and sinks for this serialized byte
data. In the System.IO
package, this is represented
directly by the MustInherit base type Stream
; its
concrete subtypes represent the actual I/O access: FileStream
represents I/O to a file, and MemoryStream
represents I/O to
a literal array of bytes (whose size is dynamically managed) in memory.
Other packages within the .NET Framework Class Library offer up their own Stream
-derived types. For example, in the System.Net
namespace, socket connections and HTTP responses are offered up as Stream
-derived types, giving .NET programmers the ability to treat any sort of input or output ...
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.