我想连续读取由我的程序生成的文本文件。问题是,在第一次解析文件后,我的程序在开始重新解析之前会读取文件的最后一行,这会导致它积累不需要的数据。
3张照片:第一张是创建锦标赛并显示积分,第二张是显示文本文件,第三张是显示A队获得更多3分
StreamReader = new StreamReader("Torneios.txt");
torneios = 0;
while (!rd.EndOfStream)
{
string line = rd.ReadLine();
if (line == "Tournament")
{
torneios++;
}
else
{
string[] arr = line.Split('-');
equipaAA = arr[0];
equipaBB = arr[1];
res = Convert.ToChar(arr[2]);
}
}
rd.Close();
这就是我目前使用的。
为了避免这样的错误,我强烈建议使用File.ReadAllText
或File.ReadAllLines
,除非您使用的是大文件(在这种情况下,它们不是好的选择),下面是一个这样的实现示例:
string result = File.ReadAllText("textfilename.txt");
关于您的特定代码,使用 File.ReadAllLines
实现此目的的示例是:
string[] lines = File.ReadAllLines("textfilename.txt");
for(int i = 0; i < lines.Length; i++)
{
string line = lines[i];
//Do whatever you want here
}
只是为了清楚起见,如果您打算从中读取的文件很大(例如二进制文件),这不是一个好主意。