using System;
using System.IO;
public class BufStrm
{
static public void Main ()
{
FileStream strm;
strm = new FileStream ("test.txt",FileMode.OpenOrCreate,FileAccess.Write);
strm.SetLength (0);
BufferedStream bstrm = new BufferedStream (strm);
string str = "this is a test";
byte [] b;
StringToByte (out b, str);
bstrm.Write (b, 0, b.Length);
long Pos = bstrm.Position;
Console.WriteLine ("The buffered stream position is "+ bstrm.Position);
Console.WriteLine ("The underlying stream position is "+ strm.Position);
str = "the quick red fox jumps over the lazy brown dog.\r\n";
StringToByte (out b, str);
bstrm.Write (b, 0, b.Length);
Console.WriteLine ("\r\nThe buffered stream position is " +bstrm.Position);
Console.WriteLine ("The underlying stream position is still "+ strm.Position);
bstrm.Seek (Pos, SeekOrigin.Begin);
b[0] = (byte) 'T';
bstrm.Write (b, 0, 1);
bstrm.Flush ();
bstrm.Close ();
strm.Close ();
}
static void StringToByte (out byte [] b, string str)
{
b = new byte [str.Length];
for (int x = 0; x < str.Length; ++x)
{
b[x] = (byte) str [x];
}
}
}
|