c# - C# StreamReader 可以检查当前行号吗?
问题描述
我尝试制作一个脚本,它可以逐行读取 TXT 文件,并根据里面的内容更改标签。有没有办法检查正在读取哪一行?
解决方案
此示例使用 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);
}
}
}
}
希望这会帮助你。