C# System.IO is a namespace that stands for Input and output. In other words, we can say that C# takes input from the user and then performs the appropriate action to generate the output. i.e. C# System.IO simply processes the input and generates the output. C# System.IO namespace consists of various classes, delegates, structures, and enumerations. These classes are used to write or read the data from files and data streams.
In this tutorial, to understand the C# namespace in detail, we are going to discuss its classes, delegates, structures, and enumerations.
C# System.IO Classes
Below is the list of various classes supported by C# System.IO namespace
-
BinaryReader: This class is used to read the primitive data types in binary format.
-
BinaryWriter: This class is used to write the primitive data types in binary format to streams.
-
File: This class provides various methods to be performed on file like create, delete, copy, rename, move, etc.
-
FileInfo: This class is used to provide information about the file like properties and methods for creating, deleting, copying, and opening files.
-
FileFormatException: This class is used to handle the format exception.
-
FileNotFoundException: This class is used to handle the not found exception.
-
FileLoadException: This class is used to handle the load exception.
-
FileSystemInfo: This class is used to show information about the system by providing a base class for FileInfo and DirectoryInfo objects.
-
FileStream: This class provides a stream for the file. It supports both synchronous and asynchronous read write operations.
-
FileSystemEventArgs: This class is used to provide the data for directory events.
-
FileSystemWatcher: This class is used to raise the event when changes in the file or directory occur.
-
Directory: This is a sealed class that represents a static method for creating, enumerating, and deleting through a directory and their subdirectories.
-
DirectoryInfo: This is a sealed class that represents instance methods for creating, enumerating, and deleting through a directory and their subdirectories.
-
DirectoryNotFoundException: This class is used to raise an exception when a file or directory cannot be found.
-
DriveInfo: This class is used to access the drive information.
-
DriveNotFoundException: This class is used to raise the exception when the drive cannot ve found.
-
BufferedStream: This is a sealed class used to add buffering in read and write operations.
-
EndOfStreamException: This class is used to raise the exception when the end of the stream cannot be found.
-
IOException: This class is used to raise the exception when the input/output error occurred.
-
InvalidDataException: This class is used to raise the exception when valid data cannot be found.
-
InternalBufferOverflowException: This class is used to handle internal buffer overflow exception.
-
MemoryStream: This class is used to create a stream whose backing store is memory.
-
Stream: This is an abstract class used to provide a stream of bytes.
-
StreamReader: This class is used to read the character from bye stream by inheriting the TextReader class.
-
TextReader: This class is used to read the characters sequentially.
-
TextWriter: This class is used to the writer the character in a sequential manner.
-
StringReader: This class is used to read the data from string by inheriting the TextReader class.
-
StringWriter: This class is used to write the data to a string by inheriting the TextWriter class.
-
Path: This class is used to operate on a string that contains the path information about files or directories.
-
PipeException: This class is used to hand the exception related to a pipe.
-
PathTooLongException: This class is used to raise the exception when the path of a file or directory is too long.
-
UnmanagedMemoryStream: This class is used to access the unmanaged blocks of memory from managed code
-
UnmanagedMemoryAccessor: This class is used to provide random access to the unmanaged blocks of memory from managed code.
Delegates and Structures
Below is the list of delegates and Structures supported by C# System.IO namespace.
C# System.IO Delegates
-
ErrorEventHandler: It is used to define a method that controls the error event created by the FileSystemWatcher object.
-
RenamedEventHandler: It is used to define a method that controls the renamed event created by the FileSyatemWather class.
-
FileSystemEventHandler: It is used to define a method that controls created, changed, or deleted events create by the FileStreamWatcher class.
C# System.IO Structures
-
WaitForChangedResult: It is used to show the details on the changes that occurred in the file.
C# System.IO Enumeration
Below is the list of various enumeration supported by C# System.IO namespace
-
FileAccess: It is used to declare the constant to restrict the file access like read, write, open, etc
-
FileMode: It is used to define the file mode, i.e. how the operating system will open the specific file.
-
FileOptions: It is used to represent various options to create the object for FileStream.
-
FileAttributes: It is used to provide attributes for file and their directories.
-
FileShare: It is used to control the kind of access other file stream objects can have to the same file.
-
SearchOption: It enables the search options to search the current directory and subdirectories.
-
DriveType: It is used to declare the constants for drive types such as network, CDRom, etc.
-
HandleInheritability: It is used to specify whether the child process can inherit an underlying handle.
- SeekOrigin
-
NotifyFilters: It is used to notify the changes to a file or folder.
The above is the detailed content of C# System.IO. For more information, please follow other related articles on the PHP Chinese website!