为什么找不到或打开我的文件
本文关键字:我的 文件 找不到 为什么 | 更新日期: 2023-09-27 18:35:53
我在''bin''Debug文件夹中添加了一个.txt文件,并尝试打开它并从中读取,如下所示:
using (StreamReader reader = File.OpenText("Credentials.txt")) {
string line = null;
do {
line = reader.ReadLine();
if (line.Contains("host=")) {
. . .
但是,尽管文件在那里,但当我到达"ReadLine()"行时,它会停止跟踪:
System.NullReferenceException 未处理 消息=对象引用未设置为对象的实例。
更新
我不得不把它从"do...while (line != null);
"改成"while (! reader.EndOfStream)
"
这没有意义。我不知道任何File.OpenText
成功返回并且返回值null
的情况。如果File.OpenText
找不到该文件,则会抛出FileNotFoundException
。
确定您声明的行实际上是引发异常的行吗?请仔细检查堆栈跟踪。
请注意,循环顺序错误。您正在调用StreamReader.ReadLine
,然后检查该行是否包含"host="。但可能是您已经到达流的末尾,在这种情况下,line
将为 null,您将抛出。重写循环的一种方法是
while ((line = reader.ReadLine()) != null) {
if (line.Contains("host=")) {
}
}
我并不是说这是最好的方法(我不认为是),但它是 C# 中的常见习语。
如果您坚持认为您是正确的,请打印输出
Console.WriteLine(reader == null);
您将立即放置在
line = reader.ReadLine();
线。
尝试使用文件的完整路径:
using (StreamReader sr = new StreamReader("c:''Users''fullpath''file.txt"))