|
起初,我用了從文件中讀取文本的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的是強大的,但更多的工作。
|