首页 > 解决方案 > C# StreamReader 可以检查当前行号吗?

问题描述

我尝试制作一个脚本,它可以逐行读取 TXT 文件,并根据里面的内容更改标签。有没有办法检查正在读取哪一行?

标签: c#streamreader

解决方案


此示例使用 StreamReader 类的 ReadLine 方法一次将文本文件的内容读取到字符串中,您只需检查行字符串并与您想要的标签匹配并替换为该字符串。

int counter = 0;  
string line;  

System.IO.StreamReader file = new System.IO.StreamReader(@"c:\test.txt");  
while((line = file.ReadLine()) != null)  
{  
    System.Console.WriteLine(line);  
    counter++;  
}  

file.Close();  
System.Console.WriteLine("There were {0} lines.", counter);  

System.Console.ReadLine(); 

或者

using System;
using System.IO;

public class Example
{
    public static void Main()
    {
        string fileName = @"C:\some\path\file.txt";

        using (StreamReader reader = new StreamReader(fileName))
        {
            string line;
            while ((line = reader.ReadLine()) != null)
            {
                Console.WriteLine(line);
            }
        }
    }
}

希望这会帮助你。


推荐阅读