我希望我的应用能够检测一行中何时包含某个字符串,此后,它将返回行号并减去8。然后它将逐行搜索(再次),直到之前获得的行,请阅读,并在消息框*(整行)*上显示。
它总是检测带有要求的字符串的行,并减去8。问题在于,每次返回一个空字符串!我尝试了许多不同的操作,并且总是带有 empty 字符串。在某些行中,它返回类似“;”的字符或“ <”。
但是,所有这些都必须对 .PAK文件进行。。文件大小为+-4Gb,速度与情况无关。
PAK文件第一行的预览: https://imgur.com/1GFBPlN
代码预览:
int counter = 0;
string line;
int linhaM = 8;
int Possivel = 0;
bool FindCID = false;
string str = "";
System.IO.StreamReader file =
new System.IO.StreamReader("C:/Program Files/mypersonalpath/pakchunk0-WindowsClient.pak");
while ((line = file.ReadLine()) != null)
{
if (line.Contains("Stringxyz"))
{
MessageBox.Show(counter.ToString());
break;
}
counter++;
}
linhaM = counter;
Possivel = counter -8;
MessageBox.Show(Possivel.ToString());
counter = 0;
while (((line = file.ReadLine()) != null) && FindCID == false)
{
if (counter == Possivel)
{
MessageBox.Show("The line 8 lines above the line that contains stringxyz is: " + line);
break;
}
counter++ ;
}
file.Close();
textBox1.Text = str;
}
我用错误的方式处理PAK文件吗?我究竟做错了什么?我要的是可能的吗?谢谢
(这是我第一次在这里问问题,对不起,如果我做错了什么事)