因此,假设我有一个20行的文本文件,每行文本不同。我希望能够有一个包含第一行的字符串,但是当我执行NextLine()时;我希望它成为下一行。我尝试了这个,但似乎不起作用:
string CurrentLine;
int LastLineNumber;
Void NextLine()
{
System.IO.StreamReader file = new System.IO.StreamReader("c:\\test.txt");
CurrentLine = file.ReadLine(LastLineNumber + 1);
LastLineNumber++;
}
我将如何做到这一点?提前致谢。
通常,最好以某种方式设计此方式以使文件保持打开状态,而不是每次都尝试重新打开文件。
如果不切实际,则需要ReadLine
多次调用:
string CurrentLine;
int LastLineNumber;
void NextLine()
{
// using will make sure the file is closed
using(System.IO.StreamReader file = new System.IO.StreamReader("c:\\test.txt"))
{
// Skip lines
for (int i=0;i<LastLineNumber;++i)
file.ReadLine();
// Store your line
CurrentLine = file.ReadLine();
LastLineNumber++;
}
}
请注意,可以通过File.ReadLines
以下方式简化此操作:
void NextLine()
{
var lines = File.ReadLines("C:\\test.txt");
CurrentLine = lines.Skip(LastLineNumber).First();
LastLineNumber++;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句