A Guided Garden Stroll through the .NET Framework Class Library
Namespace: SYSTEM.IO
● I am the IO* Namespace and I am responsible for your application’s input and output requirements.
Like the Data namespace, you can think of me as being divided into two different types of classes. By dividing me this way, Microsoft enabled me to be operational on many different underlying platforms, otherwise known as platform independence.
One part of me, the Stream group of classes, such as the FileStream*, works with the details of "talking" with specific devices. Often, these are external devices like files on your hard drive or tape backup device. But they can also be connected to memory locations on your computer to perform the functionality of in-memory data formatting and such.
The other part of me knows how to get strings of bytes and characters into and out-of those streams. An example of this type of object is the StreamReader* and StreamWriter* classes. They know exactly how to talk to the various streams you may open.
I also have a pretty nifty class called the FileSystemWatcher, which can be configured to throw events anytime files or folders it is watching changes for various reasons. This way, you can cause some actions to take place whenever a file gets moved or copied to a specific folder, for example.
Then there are my Directory, DirectoryInfo and File, and FileInfo classes. These allow your programs to create, move, rename and enumerate through files and folders on your computer. These are all quite easy to use because of their object orientation.
I handle all the nitty-gritty of being able to read from Unicode double-byte files and single-byte character formats too. Plus I have BinaryReaders and BinaryWriters to write data and information in compact non-translated forms.
IO Rocks.