c# - ReadAllLines() 本地目录不起作用
问题描述
出于某种原因,ReadAllLines() 在错误的文件夹中查找。
string[] LoadLines = File.ReadAllLines(@"Assets\\UserFile.txt");
“Assets\UserFile.txt”位于 exe 文件所在的位置。调试器抛出 System.IO.DirectoryNotFoundException 并带有注释:
“找不到路径 C:\WINDOWS\SysWOW64\Assets\UserFile.txt 的一部分”
为什么它检查错误的文件夹?
解决方案
尝试这个...
string path = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location), @"Assets\UserFile.txt");
string[] lines= File.ReadAllLines(path);
注意:这将查看您正在执行的文件夹,因此请确保文件夹/文件存在于其中。
如果执行文件夹是您的 bin 文件夹,请确保在 Visual Studio 中将文件属性设置为“内容”和“始终复制”或“更新时复制”。
推荐阅读
- python - 在 Django 中应用迁移时反转回 Postgres 字段类型
- mongodb - 如何在pentaho mongodb输入查询(聚合)中传递变量
- reactjs - 单击时将元素从一个容器转移到下一个容器
- mysql - 通过为某些列分配唯一 ID 来规范化 MySQL 数据库,然后将相关信息移动到新表
- git - Git bash 不允许我重新输入密码
- android - 无法获取 JSON 对象
- python - 从值(存储在列表中的元素)获取父(键)
- ios - Swift 中的 16 位逻辑/计算机模拟
- unicode - 为什么 iOS 13 和 iOS 12 中的 Unicode \u{23AF} (⎯) 不同
- d3.js - D3 V4 在美国地图中正确放置气泡