如何读取文件的内容并将其存储在c#中的格式化数组中

时间:2014-05-31 10:50:10

标签: c#-4.0

我正在尝试从文件中读取文本,检查其内容,然后将其存储在字符串数组中。

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")

它显示空字符串,因此无法将其存储在数组中。 我在这里犯的错误是什么?

2 个答案:

答案 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()) != '}')