одновременно читать и записывать данные в файл - PullRequest
2 голосов
/ 23 марта 2010

Я хочу одновременно читать и записывать данные в файл. Могу ли я использовать 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();

1 Ответ

2 голосов
/ 23 марта 2010

Вам нужно Flush StreamWriter, чтобы заставить его фактически записывать данные из своего внутреннего буфера в поток.
Кроме того, вы можете установить для свойства StreamWriter AutoFlush значение true

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...