одновременно читать и записывать данные в файл

StackOverflow https://stackoverflow.com/questions/2496696

  •  21-09-2019
  •  | 
  •  

Вопрос

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