2
我想同時讀寫數據到文件中。我可以只使用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();
您應該在'using'語句中關閉您的流。 – SLaks
這裏要非常小心。使用操作系統的讀/寫共享功能在給定文件上擁有兩個打開的FileStream是一回事。讓StreamReader和StreamWriter訪問同一個FileStream實例是完全不同的事情。如果嘗試隔行掃描讀寫順序,StreamReader和StreamWriter中的內部緩衝可能會給您帶來意想不到的結果。 – Josh