The System.IO namespace is the base class provides all the necessary classes, methods, and properties for manipulating directories and files to create, copy, or delete it
Working with Files under a Directory
Creating Subdirectories
Creating Files
Stream: A stream represents a chunk of data.
FileStream
The FileStre3am class supports random access to files through its Seek method
MemoryStream
The data is directly accessible in memory.
BufferedStream
The BufferedStream can be used as a temporary location to read or
write information,
which can later be committed to permanent storage.
StreamReader
Read textual information
StringReader
Read textual Information to a string buffer.
StreamWriter
Write textual information
StringWriter
Write textual Information from a string buffer.
BinaryReader
Reads binary data from a stream.
BinaryWriter
Writes binary data to a stream.
File IO Examples
using System;
using System.IO;
namespace ConsoleApp
{
public static class FileSystems
{
//Get Directory Info
public static void GetDirectoryInfo()
{
DirectoryInfo dir = new DirectoryInfo("C:\\TEMP");
FileInfo[] NumberOffiles = dir.GetFiles("*.txt");
Console.WriteLine("Total number of files {0}", NumberOffiles.Length);
}
//Create SubDirectory
public static void CreateSubDirectories()
{
DirectoryInfo dir = new DirectoryInfo("C:\]temp");
try
{
dir.CreateSubdirectory("A");
dir.CreateSubdirectory("\\A\\B");
}
catch (IOException e)
{
Console.WriteLine(e.Message);
}
}
//Create File and Delete File
public static void FileInoTest()
{
FileInfo f = new FileInfo("c:\\temp\mytest1.txt");
FileStream fs = f.Create();
Console.Write("Press a key to delete file");
Console.Read();
fs.Close();
f.Delete();
}
//Writing to a Text File by Using the StreamWriter Class
public static void WriteToTextFile()
{
FileInfo f = new FileInfo("C:\\Temp\\CourseDetails.txt");
StreamWriter writer = f.CreateText();
writer.WriteLine("C# Course Details");
writer.WriteLine("Faculty: Murthy");
writer.Write("Atlanta, GA, ");
writer.Write(writer.NewLine);
//Closing automatically flushes
writer.Close();
Console.WriteLine("Created file and wrote CourseDetails");
}
//Reading from a Text File
public static void ReadFromTextFile()
{
StreamReader s = File.OpenText("C:\\Temp\\CourseDetails.txt");
string CourseDetails = null;
while ((CourseDetails = s.ReadLine()) != null)
{
Console.WriteLine(CourseDetails);
}
s.Close();
}
//Write to file using FileStream
public static void FileStreamWrite()
{
// Create a text file C:\temp\mcb.txt
FileStream fs = new FileStream("c:\\temp\\CourseDetails.txt",
FileMode.OpenOrCreate, FileAccess.Write);
StreamWriter m_streamWriter = new StreamWriter(fs);
m_streamWriter.BaseStream.Seek(0, SeekOrigin.End);
m_streamWriter.WriteLine("C# Course Details");
m_streamWriter.WriteLine("Faculty: Murthy");
m_streamWriter.WriteLine("Atlanta, GA, ");
m_streamWriter.Flush();
}
//Read from a file using FileStream
public static void FileStreamRead()
{
string strPath = "c:\\temp\CourseDetails.txt";
FileStream fStream = new FileStream
(strPath, FileMode.Open, FileAccess.Read);
StreamReader sReader = new StreamReader(fStream);
string s = sReader.ReadToEnd();
sReader.Close();
Console.Write(s);
}
public static void MemorySreamTest()
{
MemoryStream myMemStream = new MemoryStream();
myMemStream.Capacity = 100;
//Write byes to stream
for (int i = 0; i < 100; i++)
myMemStream.WriteByte((byte)i);
myMemStream.Position = 0;
//Read bytes from stream
for (int i = 0; i < 100; i++)
Console.Write(myMemStream.ReadByte());
myMemStream.Close();
}
}
}