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

相关推荐
catchadmin1 分钟前
PHP 8.5 升级生存指南:避免凌晨两点回滚的检查清单
开发语言·php
3824278271 分钟前
JS正则表达式实战:核心语法解析
开发语言·前端·javascript·python·html
zh_xuan1 分钟前
kotlin伴生对象
开发语言·kotlin
你怎么知道我是队长9 分钟前
C语言---递归
c语言·开发语言
superman超哥14 分钟前
实时互动的基石:Rust WebSocket 实现的架构之美
开发语言·rust·编程语言·rust websocket·rust实施互通·rust架构之美
古城小栈14 分钟前
编译型 VS 解释型, 快慢有道
开发语言
qq_3660862219 分钟前
log.info中使用多个占位符{}问题
开发语言
{Hello World}28 分钟前
Java多态:三大条件与实现详解
java·开发语言
老蒋每日coding29 分钟前
Java解析Excel并对特定内容做解析成功与否的颜色标记
java·开发语言·excel
lang2015092829 分钟前
Java反射利器:Apache Commons BeanUtils详解
java·开发语言·apache