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(); } } }