c# - 同时读取和写入数据到文件

标签 c# streamreader streamwriter

我想同时读取和写入数据到文件中。我可以只对文件使用 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

关于c# - 同时读取和写入数据到文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2496696/

相关文章:

c# - 为什么文件扩展名会影响写入速度? (C#, 流式编写器)

c# - 信用卡验证正则表达式

c# - Linq To SQL 选择动态列

c# - 将应用程序从 VB.NET Webforms 移动到 MVC C#

c# - 线程安全的StreamWriter C#怎么做呢? 1个

c# - StreamWriter 错误地写入文本文件的内容

c# - NHibernate 查询最近的记录

C# 客户端/服务器 : using Streamreader/writer

c# - StreamReader 文件如何仅在列表框中达到高分时更新?

c# - streamreader 中的空引用