读取时是否忽略txt文件的前8行?c#
我想忽略蓝色框中的部分,从箭头开始读取我的txt文件 我计划只循环前8行并将它们存储在一个垃圾变量中。如果我这样做,我的十字军现在会在第9行,这样我就可以从那里开始阅读了吗?我的代码肯定是错的,它甚至不读取前8行读取时是否忽略txt文件的前8行?c#,c#,streamreader,C#,Streamreader,我想忽略蓝色框中的部分,从箭头开始读取我的txt文件 我计划只循环前8行并将它们存储在一个垃圾变量中。如果我这样做,我的十字军现在会在第9行,这样我就可以从那里开始阅读了吗?我的代码肯定是错的,它甚至不读取前8行 private void button1_Click(object sender, EventArgs e) { OpenFileDialog ofd = new OpenFileDialog(); if (ofd.ShowDialog() =
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();
}
}
private void按钮1\u单击(对象发送者,事件参数e)
{
OpenFileDialog ofd=新建OpenFileDialog();
if(ofd.ShowDialog()==System.Windows.Forms.DialogResult.OK)
{
StreamReader sr=新的StreamReader(File.OpenRead(ofd.FileName));
对于(int i=0;i<8;i++)
{
字符串垃圾=sr.ReadLine();
}
高级处置();
}
}
您可以使用以下功能:
var lines = File.ReadLines(ofd.FileName);
foreach (string line in lines.Skip(8))
Trace.WriteLine(line);
由于File.ReadLines
返回一个IEnumerable
,因此只有在迭代时才会加载这些行
更多信息:File.ReadLines方法这是一个愚蠢的方法,但它可以工作。 你必须使用这条线
StreamReader sr = new StreamReader(@"TextFile1.txt");
int i = 1;
while (!sr.EndOfStream)
{
if(i > 8)
Console.WriteLine(sr.ReadLine ());
sr.ReadLine ();
i++;
}
你怎么知道它没有读这些行呢?用调试器浏览一下文件有多大?您可以用一个CALI来阅读所有内容,我尝试使用此文件,但file.readlines一直以红色下划线(我想我遗漏了一些库?),这是从.NET 4.0及更高版本开始提供的。在我提供的链接上查找更多信息。我试图使用此链接,但1)不应该是我吗