
This is the Title of the Book, eMatter Edition
Copyright © 2007 O’Reilly & Associates, Inc. All rights reserved.
Choosing a Method of Opening a File or Stream for Reading and/or Writing
|
683
Discussion
There are many different ways to create a stream. First, we will examine the
FileStream class, referring to useful recipes that will help create objects of this type.
We will then look at the
StreamWriter and StreamReader classes, followed by the
BinaryWriter and BinaryReader classes.
// Open for append.
streamWriter = new StreamWriter(tempFile,true);
// Append some text.
streamWriter.WriteLine(", It's the StreamWriter!");
// BinaryWriter
long pos = 0;
int twentyFive = 25;
// Start up the binaryWriter with the base stream from the streamWriter
// since it is open.
using (BinaryWriter binaryWriter = new BinaryWriter(streamWriter.BaseStream))
{
// Move to end.
pos = binaryWriter.Seek(0, SeekOrigin.End);
// Write out 25.
binaryWriter.Write(twentyFive);
}
// Cannot call Close on the streamWriter since the
// using stmt on the binaryWriter causes the binaryWriter.Dispose
// method to be called, which in turn calls Dispose on the internal
// reference to the streamWriter object that was passed in to the
// binaryWriter's constructor.
// BinaryReader
Using (StreamReader streamReader2 = new StreamReader(tempFile))
{
using (BinaryReader binaryReader = new BinaryReader(streamReader2.BaseStream))
{
//long pos = 0;
//int ...