任何的File.ReadAllText()和使用StreamReader读取文件内容之间的差异?
|
起初,我用了从文件中读取文本的StreamReader 读卡器= 新 的StreamReader (“对话框。使用OpenFile ()); 但发现有关File.ReadAllText这似乎简化我的代码,以1号线。但我想,如果有2之间的任何分歧?或什么时候我应该比其他使用1? txtEditor 。文本 文件。ReadAllText (对话。的FileName );
|
|
有没有差异,如果你正在使用ReadToEnd()方法。不同的是,如果你不加载到内存中整个文件,而是让你来处理块中使用大文件的ReadLine()方法。 因此,使用File.ReadAllText(),而不是ReadToEnd() ,因为它使你的代码更短,更可读。它也需要照顾,妥善处置资源,因为你可能会忘记做的StreamReader(正如你在你的片段)。
|
最多投票1下投票 |
如果您使用的ReadToEnd,他们是相同的。否则,使用StreamReader的,让你一次读取的字节,与他们做一些计算,然后把它们扔掉需要。例如,如果你有一个文件,包含一个2000号码的列表,你想加在一起,你可以:
这两种方法之间的主要区别是短暂的内存使用。的款项后,你有,你可以随时离开扔掉了所有的中间数据。在File.ReadAllText方法,在某些时候,你有整个文件内容在内存中,而与StreamReader的方法,你只有几个字节,在任何一个时间价值在内存中的文件内容。这可能是一个问题,根据文件的大小和计算,你做。 File.ReadAllText是方便快捷。 StreamReader的是强大的,但更多的工作。
|