StreamReader Class and StreamWriter Class
Part of my 2008 study notes for exam 70-536 (.NET Framework 2.0).
Overview
- Provides extra helper methods intended to read a stream as a string.
- Calling Close() on a StreamReader will close the underlying Stream as well.
Good practice
- Remember to call Close on a stream.
- Use ‘using’ statements when you want the stream to be automatically closed at the end.
Examples
Read a File
// FileStream is simply a stream around a file, overriding Stream methods
FileStream a = new FileStream(@"C:\Public\Test.txt", FileMode.Open);
while (a.Position != a.Length)
{
Console.Write((char)a.ReadByte());
}
a.Seek(0, SeekOrigin.Begin);
StreamReader b = new StreamReader(a);
Console.WriteLine(b.ReadToEnd());
b.Close();
Writing a File
// FileStream is simply a stream around a file, overriding Stream methods
FileStream a = new FileStream(@"C:\Public\Test.txt", FileMode.Create);
using (var writer = new StreamWriter(a))
{
writer.AutoFlush = true;
writer.WriteLine("Hello World");
}
// The FileStream has been closed because of the using statement
a = new FileStream(@"C:\Public\Test.txt", FileMode.Open);
StreamReader b = new StreamReader(a);
Console.WriteLine(b.ReadToEnd());
b.Close();
// Simple version if you only need to read the entire file
Console.WriteLine(File.ReadAllText(@"C:\Public\Test.txt"));
You May Also Like
ArrayList Class
Resizeable, unordered, index-based collection. Suffers from boxing/unboxing when working with value types. Implements IEnumerator, allowing foreach…
BinaryReader Class and BinaryWriter Class
Used to read and write binary data from streams. Call the correct Read methods when using a BinaryReader.
BitArray Class
Contains an array of true/false values. Resizable through the Length property. Supports bitwise operations.



