The System.IO namespace contains classes for reading and writing data from streams and interacting with the filesystem.

The System.IO namespace contains classes for reading and writing binary data from streams, reading and writing character data from readers and writers, and interacting with the file system in a platform-independent manner.

The class is the abstract base class of all streams, which provide a common mechanism for reading and writing binary data. s support sequential reading or writing or both, and can also support random access. s can be used synchronously and asynchronously.

There are three standard implementations. The class provides stream access to a file on the local file system. The class provides stream access to a byte array in memory. The wraps another stream, providing buffered access to the underlying data, which can be used to improve performance. The and classes provide convenience functions for reading and writing primitive types to and from steams.

provides a sequential stream of characters or strings, and is a target for writing a sequential stream of chacters or strings. The and classes provide character-based access to a using a specified encoding. The provides a reader for the character data in a , and the provides a writer to s.

The remaining classes provide access to the local file system. The and classes contain static methods for manipulating directories and files, respectively. and objects actually represent files and folders on the file system (actually paths to files and folders which may or may not exist). They contain instance methods similar to and . The class contains static methods for manipulating paths on the local file system in a platform-independent manner.