Most programs are of little use if there is no way of retrieving input from some source and outputting it to the same or another source. There are several options available for handling input/output (I/O). In this chapter, you will examine file and directory I/O, I/O manipulation and, finally, serialization or the saving of class for later retrieval.
There are other I/O mechanisms. For example, this book covers, in later chapters, databases, XML, and GUI interfaces. Before you cover these more complex I/O systems, you'll start with simple files. Files are the core of most I/O-related activities in a program.
The first thing you need to look at is the file system. Anybody who plays (oops, I mean works) on a computer sees the file system as an uncomplicated means of placing files wherever he wants them. Usually, the file system is taken for granted. Truthfully, the file system is anything but simple and, without the .NET Framework class library, a developer would see just how complicated it really is.
Once you have the file system under your belt, you will end this chapter with serialization. Serialization is the process of storing a class off to the file system for later retrieval. You will see how unbelievably easy this is to do with the .NET Framework class library.