首页 > 解决方案 > ReadAllLines() 本地目录不起作用

问题描述

出于某种原因,ReadAllLines() 在错误的文件夹中查找。

string[] LoadLines = File.ReadAllLines(@"Assets\\UserFile.txt");

“Assets\UserFile.txt”位于 exe 文件所在的位置。调试器抛出 System.IO.DirectoryNotFoundException 并带有注释:

“找不到路径 C:\WINDOWS\SysWOW64\Assets\UserFile.txt 的一部分”

为什么它检查错误的文件夹?

标签: c#visual-studio

解决方案


尝试这个...

string path = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @"Assets\UserFile.txt");
string[] lines= File.ReadAllLines(path);

注意:这将查看您正在执行的文件夹,因此请确保文件夹/文件存在于其中。

如果执行文件夹是您的 bin 文件夹,请确保在 Visual Studio 中将文件属性设置为“内容”和“始终复制”或“更新时复制”。


推荐阅读