我正在尝试从文件中读取文本,检查其内容,然后将其存储在字符串数组中。
FileStream fs = new FileStream(pathToFiles, FileMode.Open);
StreamReader sr = new StreamReader(fs);
do{
line=sr.ReadLine();
if (line == "databases")
{
j = 0;
while ((ch = sr.Read()) != '}')
{
admin_databases[j] = sr.ReadLine();
j++;
}
}
else if (line == "table_name")
{
j = 0;
while ((ch = sr.Read()) != '}')
{
admin_table_name[j] = sr.ReadLine();
j++;
}
}
else
{
Response.Write(line+" ");
}
} while (line !=null);
使用ReadLine()方法读取文本,但在检查其内容时 即
if(line=="databases")
它显示空字符串,因此无法将其存储在数组中。 我在这里犯的错误是什么?
答案 0 :(得分:0)
作为主要帖子下的最后评论的答案:
根据你的说法,我们回到空白理论!
一些提示:
替换Response.Write(第+行"");通过Response.Write("'" + line +"'");只是为了查看准确捕获的值。
检查您的文件内容。
您还可以通过更具体的比较替换您的==运算符:String.Compare与不区分大小写的param,或String.StartsWith()/ Contains()等,而不是精确的比较。
< / LI>您还可以使用&#34; Trim()&#34;等清理输入字符串
答案 1 :(得分:-1)
抱歉,我们不知道您档案中的内容。也许问题在于任何空白。
在这行代码中:
while ((ch = sr.Read()) != '}')
你错过了一个&#39; =&#39;。看起来应该是这样的:
while ((ch == sr.Read()) != '}')