美文网首页
C# 对文件进行读写的时候出现了"另一进程正在使用此文件"

C# 对文件进行读写的时候出现了"另一进程正在使用此文件"

作者: 夜雨_声烦 | 来源:发表于2017-07-23 16:07 被阅读0次

做文件读写时,我们难免会遇到文件读写故障,例如经常会碰到的一个问题:

System.IO.IOException: 文件“XXX”正由另一进程使用,因此该进程无法访问此文件。

下面谈下笔者对这类问题的看法:

  • 首先是列举我们习惯用的读写文件的方式:

<code>FileStream fs = new FileStream(url);
StreamReader sr = new StreamReader(fs);
StringBuilder sb = new StringBuilder();
while (!sr.EndOfStream)
{
sb.AppendLine(sr.ReadLine());
}</code>

  • 现在列举修改之后比较合理的写法:

<code>
FileStream fs = new FileStream(url, FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
StreamReader sr = new StreamReader(fs, System.Text.Encoding.Default);
StringBuilder sb = new StringBuilder();
while (!sr.EndOfStream)
{
sb.AppendLine(sr.ReadLine());
}</code>

  • 总结:

    这样的情况,不单要以只读方式打开txt文件,而且,需要共享锁。还必须要选择flieShare方式为ReadWrite。因为随时会有其他程序对其进行写操作。

转载自:c# 读写文件时文件正由另一进程使用,因此该进程无法访问该文件

相关文章

  • C# 对文件进行读写的时候出现了"另一进程正在使用此文件"

    做文件读写时,我们难免会遇到文件读写故障,例如经常会碰到的一个问题: System.IO.IOException:...

  • RuntimeError: received 0 items o

    在使用torch.multiprocess时,由于子进程中进行了文件读写操作,因此出现了RuntimeError:...

  • 使用audit工具常规命令监控系统访问文件

    audit工具的作用 audit工具可以对文件使用进行监控,可以监控是哪个进程对文件进行读写执行和atrribut...

  • Linux 为什么多进程能够读写正在删除的文件

    Linux中多进程环境下,打开同一个文件,当一个进程进行读写操作,如果另外一个进程删除了这个文件,那么读写该文件的...

  • Python之文件操作

    文件读写 文件读写是最基本的IO操作,在Python中内置了open函数来用于文件的读写操作,此函数创建一个文件对...

  • python 文件操作

    读写文件通常包含以下操作: 打开文件。获取文件对象 读写文件、对文件内容进行操作。 关闭文件。使用文件对象关闭文件...

  • 进程间通信

    进程的读写 写文件的进程只能单个运行(写的时候禁止读),读文件的进程可以同时有多个,读写的互斥锁wsem,rsem...

  • 使用C#代码读写XML文件

    使用C#代码读写XML文件 一、创建XML文件 new 一个XmlDocument 对象之后,再调用Save方法,...

  • python常用的文件读写

    目录 基础:.txt文件的读写 进阶:用xlrd和xlwt对.xls文件进行读写 再进阶:利用pandas进行文件...

  • 报错笔记1

    出现下图未能写入输出文件"xxxx.dll"另一个程序正在使用此文件吗,进程无法访问的原因是该程序集自己引用了自己...

网友评论

      本文标题:C# 对文件进行读写的时候出现了"另一进程正在使用此文件"

      本文链接:https://www.haomeiwen.com/subject/dwvskxtx.html