我想忽略蓝框中的部分并开始从箭头
读取我的txt文件
我打算只循环前8行并将它们存储在垃圾变量中。如果我这样做,我的crusor现在是在第9行,所以我可以从那里开始阅读?我的代码肯定是错的,它甚至没有读取前8行。
private void button1_Click(object sender, EventArgs e)
{
OpenFileDialog ofd = new OpenFileDialog();
if (ofd.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
StreamReader sr = new StreamReader(File.OpenRead(ofd.FileName));
for (int i = 0; i < 8; i++)
{
string junk = sr.ReadLine();
}
sr.Dispose();
}
}
答案 0 :(得分:9)
您可以使用:
var lines = File.ReadLines(ofd.FileName);
foreach (string line in lines.Skip(8))
Trace.WriteLine(line);
由于File.ReadLines
返回IEnumerable<string>
,因此只会在迭代时加载这些行。
更多信息: File.ReadLines方法 http://msdn.microsoft.com/en-us/library/dd383503.aspx
答案 1 :(得分:0)
这是一种愚蠢的行为,但它有效。 你必须消费这条线。
StreamReader sr = new StreamReader(@"TextFile1.txt");
int i = 1;
while (!sr.EndOfStream)
{
if(i > 8)
Console.WriteLine(sr.ReadLine ());
sr.ReadLine ();
i++;
}