In this chapter you will learn
- What is System.IO Namespace?
- Classes, Methods and Enumeration of System.IO Namespace?
- Programming Examples
System.IO Namespace is a collection of classes, methods, enumeration and types that is responsible for reading and writing files and data streams. All the File Handling operations require System.IO namespace.
Classes
| Class | Description |
| BinaryReader | Reads primitive data types as binary values in a specific encoding. |
| BinaryWriter | Writes primitive types in binary to a stream and supports writing strings in a specific encoding. |
| BufferedStream | Adds a buffering layer to read and write operations on another stream. This class cannot be inherited. |
| Directory | Exposes static methods for creating, moving, and enumerating through directories and subdirectories. This class cannot be inherited. |
| To browse the .NET Framework source code for this type, see the Reference Source. | |
| DirectoryInfo | Exposes instance methods for creating, moving, and enumerating through directories and subdirectories. This class cannot be inherited. |
| To browse the .NET Framework source code for this type, see the Reference Source. | |
| DirectoryNotFoundException | The exception that is thrown when part of a file or directory cannot be found. |
| DriveInfo | Provides access to information on a drive. |
| DriveNotFoundException | The exception that is thrown when trying to access a drive or share that is not available. |
| EndOfStreamException | The exception that is thrown when reading is attempted past the end of a stream. |
| ErrorEventArgs | Provides data for the FileSystemWatcher.Error event. |
| File | Provides static methods for the creation, copying, deletion, moving, and opening of a single file, and aids in the creation of FileStream objects. |
| To browse the .NET Framework source code for this type, see the Reference Source. | |
| FileFormatException | The exception that is thrown when an input file or a data stream that is supposed to conform to a certain file format specification is malformed. |
| FileInfo | Provides properties and instance methods for the creation, copying, deletion, moving, and opening of files, and aids in the creation of FileStream objects. This class cannot be inherited. |
| To browse the .NET Framework source code for this type, see the Reference Source. | |
| FileLoadException | The exception that is thrown when a managed assembly is found but cannot be loaded. |
| FileNotFoundException | The exception that is thrown when an attempt to access a file that does not exist on disk fails. |
| FileStream | Provides a Stream for a file, supporting both synchronous and asynchronous read and write operations. |
| To browse the .NET Framework source code for this type, see the Reference Source. | |
| FileSystemEventArgs | Provides data for the directory events: Changed, Created, Deleted. |
| FileSystemInfo | Provides the base class for both FileInfo and DirectoryInfo objects. |
| FileSystemWatcher | Listens to the file system change notifications and raises events when a directory, or file in a directory, changes. |
| To browse the .NET Framework source code for this type, see the Reference Source. | |
| InternalBufferOverflowException | The exception thrown when the internal buffer overflows. |
| InvalidDataException | The exception that is thrown when a data stream is in an invalid format. |
| IODescriptionAttribute | Sets the description visual designers can display when referencing an event, extender, or property. |
| IOException | The exception that is thrown when an I/O error occurs. |
| MemoryStream | Creates a stream whose backing store is memory. |
| To browse the .NET Framework source code for this type, see the Reference Source. | |
| Path | Performs operations on String instances that contain file or directory path information. These operations are performed in a cross-platform manner. |
| To browse the .NET Framework source code for this type, see the Reference Source. | |
| PathTooLongException | The exception that is thrown when a path or file name is longer than the system-defined maximum length. |
| PipeException | Thrown when an error occurs within a named pipe. |
| RenamedEventArgs | Provides data for the Renamed event. |
| Stream | Provides a generic view of a sequence of bytes. This is an abstract class. |
| To browse the .NET Framework source code for this type, see the Reference Source. | |
| StreamReader | Implements a TextReader that reads characters from a byte stream in a particular encoding. |
| To browse the .NET Framework source code for this type, see the Reference Source. | |
| StreamWriter | Implements a TextWriter for writing characters to a stream in a particular encoding. |
| To browse the .NET Framework source code for this type, see the Reference Source. | |
| StringReader | Implements a TextReader that reads from a string. |
| StringWriter | Implements a TextWriter for writing information to a string. The information is stored in an underlyingStringBuilder. |
| TextReader | Represents a reader that can read a sequential series of characters. |
| TextWriter | Represents a writer that can write a sequential series of characters. This class is abstract. |
| UnmanagedMemoryAccessor | Provides random access to unmanaged blocks of memory from managed code. |
| UnmanagedMemoryStream | Provides access to unmanaged blocks of memory from managed code. |
Enumerations
| Enumeration | Description |
| DriveType | Defines constants for drive types, including CDRom, Fixed, Network, NoRootDirectory, Ram, Removable, and Unknown. |
| FileAccess | Defines constants for read, write, or read/write access to a file. |
| FileAttributes | Provides attributes for files and directories. |
| FileMode | Specifies how the operating system should open a file. |
| FileOptions | Represents advanced options for creating a FileStream object. |
| FileShare | Contains constants for controlling the kind of access other FileStream objects can have to the same file. |
| HandleInheritability | Specifies whether the underlying handle is inheritable by child processes. |
| NotifyFilters | Specifies changes to watch for in a file or folder. |
| SearchOption | Specifies whether to search the current directory, or the current directory and all subdirectories. |
| SeekOrigin | Specifies the position in a stream to use for seeking. |
| WatcherChangeTypes | Changes that might occur to a file or directory. |
In this chapter you learned about System.IO Namespace and its classes. In the next chapter you will learn how to read files using FileStream.
In this chapter you will learn