System.IO Namespace

The System.IO namespace provides types that allow reading and writing to files and data streams, and types that provide basic file and directory support.

Overview

Classes in this namespace are designed for handling file system operations, such as creating, copying, deleting, moving, and opening files, as well as reading and writing to data streams.

Key Classes

ClassDescription
FileStatic methods for creation, copying, deletion, moving, and opening of files.
DirectoryStatic methods for creating, moving, and enumerating through directories and subdirectories.
PathProvides methods for manipulating string paths.
FileStreamProvides a Stream for a file, supporting synchronous and asynchronous read/write.
StreamReaderConveniently reads characters from a byte stream in a particular encoding.
StreamWriterConveniently writes characters to a stream in a particular encoding.
BinaryReaderReads primitive data types as binary values.
BinaryWriterWrites primitive data types as binary values.
MemoryStreamCreates a stream whose backing store is memory.
EnumerationsCommon enums such as FileAttributes and SeekOrigin.

Examples

// Read all text from a file
string text = System.IO.File.ReadAllText("example.txt");

// Write lines to a file
string[] lines = { "First", "Second", "Third" };
System.IO.File.WriteAllLines("output.txt", lines);

// Enumerate files in a directory
foreach (var file in System.IO.Directory.EnumerateFiles("./data"))
{
    Console.WriteLine(file);
}