项目中需要读取一个文本文件的内容,调用C#的File.ReadAllLines(path)方法,但是报错,就提示unknown exception,也没其他提示了。
文件是在的,并且,如果把文件拷贝到另外一个路径,再次读取是正常的。
仔细研究了一下,应该是客户电脑上跑了其他程序正在往这个文件里写东西,把文件lock了,导致ReadAllLines()方法读不了。
网上查到了解决办法:文章来源:https://www.toymoban.com/news/detail-722639.html
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文章来源地址https://www.toymoban.com/news/detail-722639.html
到了这里,关于C# File.ReadAllLines()报错的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!