欲同时读取和写入数据到文件中。我可以使用的StreamReader和StreamWriter,只有文件?为什么下面犯规码出号?

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();
有帮助吗?

解决方案

您需要 Flush 的StreamWriter的迫使它实际上是从它的内部缓冲器的流写入的数据。结果 或者,你可以设置的StreamWriter的 AutoFlush 属性true

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top