views:

146

answers:

1

Hi, i want simultaneously read and write data into file. Can i use StreamReader and StreamWriter with only file? And why code below doesnt out numbers?

var stream = new FileStream(path,FileMode.Create,FileAccess.ReadWrite,FileShare.ReadWrite);
var sw = new StreamWriter(stream);
var sr = new StreamReader(stream);


for(int i=0;i<10;i++)
{
    sw.WriteLine(i);
}

stream.Seek(0,SeekOrigin.Begin);
for(int i=0;i<10;i++)
{
 Console.WriteLine(sr.ReadLine());
}

stream.Close();
+2  A: 

You need to Flush the StreamWriter to force it to actually write the data from its internal buffer to the stream.
Alternatively, you can set the StreamWriter's AutoFlush property to true

SLaks