这是我正在使用的代码
using (FileStream fs = new FileStream(filename, FileMode.Open))
using (StreamReader rdr = new StreamReader(fs))
{
while (!rdr.EndOfStream)
{
for (int z = 0; z < 2; z++)
{
string[] lines = rdr.ReadLine().Split('|');
{
sb.AppendLine(";Re");
sb.AppendLine("@C PAMT " + lines[3]);
sb.AppendLine("@T " + lines[0]);
sb.AppendLine("@D @I\\" + lines[1]).Replace("I:\\", "");
sb.AppendLine(lines[2].Replace(";", "\r\n");
}
}
}
}
using (FileStream fs = new FileStream(outputfilename, FileMode.Create))
using (StreamWriter writer = new StreamWriter(fs))
{
writer.Write(sb.ToString());
}
我只想跳过 StreamReader 的第一行或跳过整个第一个 stringbuilder。我以为 for 会这样做,但事实并非如此。
注意:我想避免使用 foreach。
最佳答案
为什么不在创建 rdr
变量后立即添加以下行?
if ( !rdr.EndOfStream ) {rdr.ReadLine();}
关于C# 跳过文本文件的第一行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2134700/