C# - 读取文本文件(系统 IO)

本文关键字:系统 IO 文件 读取 取文本 | 更新日期: 2023-09-27 17:56:06

我想连续读取由我的程序生成的文本文件。问题是,在第一次解析文件后,我的程序在开始重新解析之前会读取文件的最后一行,这会导致它积累不需要的数据。


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();

这就是我目前使用的。

C# - 读取文本文件(系统 IO)

为了避免这样的错误,我强烈建议使用File.ReadAllTextFile.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
}

只是为了清楚起见,如果您打算从中读取的文件很大(例如二进制文件),这不是一个好主意。