我正在尝试读取文本文件的某个部分。文本如下所示:尝试读取txt文件 - 锁定
[HRZones]
195
175
156
0
[SwapTimes]
[Trip]
474
0
6616
-223
[HRData]
84 182 87 -222 129 4139
84 182 87 -222 129 4139
88 179 86 -222 133 3640
95 185 92 -222 136 3393
103 193 91 -222 123 4666
107 196 94 -222 125 5684
107 198 96 -222 128 4919
109 197 95 -222 131 4926
110 198 96 -222 134 4655
111 196 95 -222 126 4154
该文件实际上在[HRData]部分下包含更多行。
我想抓住[HRData}使用下面的代码。可悲的是,这会锁定该计划;断点显示这发生在第一次while循环..几乎就像它看不到任何东西?
private void readFile()
{
//read the hrm file and split values
try
{
using (StreamReader sr = new StreamReader(file_name))
{
string line;
while ((line = sr.ReadLine()) != "[HRData]")
{
line = sr.ReadLine(); // FAILS HERE..
}
while((line = sr.ReadLine()) != null)
{
string split = line;
string[] values = split.Split('\t');
foreach (String value in values)
{
hrdata[i, j] = int.Parse(value);
i++;
if (i > 5)
{
i = 0;
j++;
}
}
}
}
}
正在从前面的检查中传递file_name,数据看起来不错。
在将其中一个与'[HRData]'进行比较之前,您正在一次读取两行...您需要摆脱循环内的'line = sr.ReadLine();'所以您只能阅读一次一行。 – dreamlax
我编辑了你的标题。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 –