加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 重复/同时读取/写入文本文件

发布时间:2020-12-16 01:37:03 所属栏目:百科 来源:网络整理
导读:如何读取和写入文本文件而不会得到“文件已被其他应用程序使用”的异常? 我尝试了File.readalltext()和File.Appendalltext()函数.我刚开始使用filestream. 在我的场景中哪种效果最好?我也会感谢一些代码snipplets .. 谢谢 解决方法 这与打开文件时请求的锁
如何读取和写入文本文件而不会得到“文件已被其他应用程序使用”的异常?

我尝试了File.readalltext()和File.Appendalltext()函数.我刚开始使用filestream.

在我的场景中哪种效果最好?我也会感谢一些代码snipplets ..

谢谢

解决方法

这与打开文件时请求的锁定和共享语义有关.

而不是使用File.ReadAllText()的快捷方法,尝试使用System.IO.FileStream和System.IO.StreamReader / System.IO.StreamWriter.

要打开文件:

using (var fileStream = new FileStream(@"c:myFile",FileMode.Open,FileAccess.Read,FileShare.ReadWrite))
using (var streamReader = new StreamReader(fileStream))
{
  var someText = streamReader.ReadToEnd();
}

注意FileShare.ReadWrite – 这告诉流允许与其他读者或其他作者共享.

写作尝试类似的东西

using (var fileStream = new FileStream(@"c:myFile",FileMode.Create,FileAccess.Write,FileShare.Read))
using (var streamWriter = new StreamWriter(fileStream))
{
  streamWriter.WriteLine("some text");
}

注意FileShare.Read – 这告诉流只允许向读者共享.

阅读System.IO.FileStream及其构造函数重载,您可以准确地定制它的行为以适合您的目的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读