我有一个文本文件。我想读那个文件。但是,如果该行以6开头,那么我想读取该文件,否则离开该行并转到下一行。如果该行以6开头,那么我想从第6位到第15位和第45位到第62位读取该行。我想在C#.NET中实现此代码。怎么写那段代码?谁能帮我。
答案 0 :(得分:3)
public IEnumerable<string> ReadLines(string fileName)
{
string line;
using (var rdr = new StreamReader(fileName))
while ( (line = rdr.ReadLine()) != null)
yield return line;
}
ReadLines("yourfile.txt")
.Where(l => l.StartsWith("6"))
.Select(l => new {Part1 = l.SubString(6, 9), Part2 = l.SubString(45, 17)});
答案 1 :(得分:2)
using System.IO
使用Microsoft的StreamReader。 Example here.但是使用Read(..) method代替字符,Peek(..)展望未来等等。
StreamReader专为角色而设计 输入特定的编码, 而Stream类是设计的 用于字节输入和输出。使用 StreamReader用于读取行 来自标准文本文件的信息。
答案 2 :(得分:0)
您需要使用System.IO.TextReader类和&amp;字符串函数来读取文件&amp;检查每一行的内容。
MSDN在使用C#中的StreamReader的this文章中有一个很好的例子。