美文网首页
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# 对文件进行读写的时候出现了"另一进程正在使用此文件"

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