c#读取文本文件的疑问

fihuang 2009-07-14 11:18:51
我用如下方式读取一个文本文件:

string path = "..."; //文件路径
FileStream stream = new FileStream(path, FileMode.Open, FileAccess.Read);

当stream没有关闭之前,被读取的文件却被写入了新的内容。
此时stream会有变化吗?stream是代表了新文件还是旧文件?

谢谢各位大哥大姐!
...全文
47 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
accpyy 2009-07-14
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 qldsrx 的回复:]
你既然加了FileAccess.Read限制,就不可能让文件被写入,直到你关闭了文件流。
[/Quote]
正解
fihuang 2009-07-14
  • 打赏
  • 举报
回复
琐抵死内
yixianggao 2009-07-14
  • 打赏
  • 举报
回复
FileStream 是文件流,实质是一段内存,而非硬盘文件,
因此 对 FileStream 的修改不会直接影响到 物理文件,
只有将 FileStream 重新回写 物理文件后,文件才会发生改变。

简单滴例子,编辑 word 时,始终不点保存(自动保存不算哈),突然断电关机,
再通电开机后,会发现文档内容没有改变,原因就是你始终在编辑 FileStream 而未回写 doc!
十八道胡同 2009-07-14
  • 打赏
  • 举报
回复
最好别这么搞,危险
lzc2125 2009-07-14
  • 打赏
  • 举报
回复
你的这个stream 没有关闭,文件怎么被写入的呢?
其他程序再用文件流写入的时候会报错的啊
qldsrx 2009-07-14
  • 打赏
  • 举报
回复
你既然加了FileAccess.Read限制,就不可能让文件被写入,直到你关闭了文件流。
pele007 2009-07-14
  • 打赏
  • 举报
回复
楼上正解
上海程序员3 2009-07-14
  • 打赏
  • 举报
回复
不可能存在这样的情况,在没有关闭之前,写入是失败的,会报错。

110,561

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧