System.IO Namespace
The System.IO namespace contains types that allow reading and writing to files and data streams, and types that provide basic file and directory support.
Quick Links
Classes
Explore the most commonly used classes.
File– Static methods for creating, copying, deleting, moving, and opening files.FileInfo– Instance methods for file manipulation.Directory– Static methods for creating, moving, and enumerating through directories.DirectoryInfo– Instance methods for directory manipulation.Stream– Abstract base class for byte streams.FileStream– Stream for file I/O.MemoryStream– Stream that uses memory as its backing store.BinaryReader– Reads primitive data types as binary values.BinaryWriter– Writes primitive data types in binary.StreamReader– Reads characters from a byte stream in a particular encoding.StreamWriter– Writes characters to a stream in a particular encoding.Path– Provides methods for processing strings that contain file or directory path information.FileAttributes– Specifies the attributes of a file or directory.FileMode– Specifies how the operating system should open a file.FileAccess– Defines constants for read, write, or read/write access to a file.FileShare– Defines constants for sharing options for a file.
Enumerations
SeekOrigin– Defines constants for seeking within a stream.BufferedSymbol– Sample enumeration.
Interfaces
IBinaryReader– Interface for binary reading.IBinaryWriter– Interface for binary writing.
Code Examples
// Write text to a file
using System;
using System.IO;
class Example
{
static void Main()
{
string path = @"C:\temp\example.txt";
File.WriteAllText(path, "Hello, World!");
Console.WriteLine("File written successfully.");
}
}
// Read all lines from a file
using System;
using System.IO;
class Example
{
static void Main()
{
string path = @"C:\temp\example.txt";
if (File.Exists(path))
{
string[] lines = File.ReadAllLines(path);
foreach (var line in lines)
Console.WriteLine(line);
}
}
}