我正在使用StreamReader
读取文本文件中的行。对于每一行我都执行特定的操作。使用StreamReader读取文件的最后一行后执行操作
例子:
System.IO.StreamReader file = new System.IO.StreamReader(fileDirectory); //Open StreamReader
while ((inFileString = file.ReadLine()) != null)
{
if(something)
{ do stuff... }
}
最后一行被读取后,因为while
循环内的代码变得不可访问时我的问题。这基本上就像我需要被允许在它自动退出后再次通过while
循环。如何在从文件读取的最后一行执行我的操作?
(我可以只复制操作的循环之外,但我想这将是低效的...)
出于好奇,为什么不使用'File.ReadAllLines(fileDirectory)'而不是打开一个流然后读取这些行?这会给你一个你可以迭代的数组。 – 2014-08-28 19:39:20
@ siva.k当文件很大时,读取内存中的所有文本并不是一件好事。我认为OP方法很好,因为他的业务逻辑允许逐行处理文件。 – 2014-08-28 19:41:01
@pwas啊,是的,好点。 – 2014-08-28 19:42:52