C# File.ReadAllLines()报错

项目中需要读取一个文本文件的内容,调用C#的File.ReadAllLines(path)方法,但是报错,就提示unknown exception,也没其他提示了。

文件是在的,并且,如果把文件拷贝到另外一个路径,再次读取是正常的。

仔细研究了一下,应该是客户电脑上跑了其他程序正在往这个文件里写东西,把文件lock了,导致ReadAllLines()方法读不了。

网上查到了解决办法:

cs 复制代码
public static string[] readAllLines(String i_FileNameAndPath)
{
     string[] o_Lines = null;
     List<string> list = new List<string>();
     int i = 0;
     using (FileStream fileStream = File.Open(i_FileNameAndPath, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
     {
          using (StreamReader streamReader = new StreamReader(fileStream))
          {
              while (streamReader.Peek() > -1)
              {
                  string line = streamReader.ReadLine();     
                  list.Add(line);
                  i++;
              }
          }
      }
      o_Lines = list.ToArray();
      return o_Lines;
}

参考:C# -- Can't read all lines in file that being used by another process -- iTecNote

相关推荐
无名的小三轮9 分钟前
第二章 信息安全概述
开发语言·php
清水白石00816 分钟前
深入 Python 对象模型:PyObject 与 PyVarObject 全解析
开发语言·python
独自破碎E20 分钟前
说说Java中的反射机制
java·开发语言
一直都在57229 分钟前
SpringBoot3 框架快速搭建与项目工程详解
java·开发语言
子云之风30 分钟前
LSPosed 项目编译问题解决方案
java·开发语言·python·学习·android studio
lendsomething36 分钟前
graalvm使用实战:在java中执行js脚本
java·开发语言·javascript·graalvm
烤麻辣烫37 分钟前
java进阶--刷题与详解-2
java·开发语言·学习·intellij-idea
期待のcode37 分钟前
性能监控工具
java·开发语言·jvm
小屁猪qAq1 小时前
设计模式总纲
开发语言·c++·设计模式
不绝1911 小时前
C#核心:多态
开发语言·c#