是否有可能以某種方式調用ReadToEnd的方法,在建設這樣後關閉StreamReader的:關閉StreamReader的ReadToEnd的
string s = new StreamReader("filename", Encoding.UTF8).ReadToEnd();
具有相同語義的任何替代優雅的建築也將被接受。
是否有可能以某種方式調用ReadToEnd的方法,在建設這樣後關閉StreamReader的:關閉StreamReader的ReadToEnd的
string s = new StreamReader("filename", Encoding.UTF8).ReadToEnd();
具有相同語義的任何替代優雅的建築也將被接受。
我覺得你真的很後File.ReadAllText,如果你只是想從一個文件中讀取所有的文字方法儘可能最短的代碼。
如果您未指定編碼,它將自動使用UTF-8。
你可以使用一個using聲明,自動關閉流:
string s = null;
using (StreamReader reader = new StreamReader("filename", Encoding.UTF8) { s = reader.ReadToEnd(); }
沒有沒有,但它總是使用處置誰繼承 形式IDisposable的對象一個很好的做法。如果你不這樣做在一個循環,你會得到內存泄漏
string s = string.Empty;
using(StreamReader sr = new StreamReader("filename", Encoding.UTF8))
{
s = sr.ReadToEnd();
}
有沒有必要或指責調用關閉以及處置。只要把它放在使用聲明中就足夠了。 – 2008-12-03 07:43:58
我現在這樣做,但希望沒有明確聲明StreamReader變量的情況下有什麼更簡短的解決方案。 – 2008-12-03 07:41:57
@ jon-spectet的答案是要走的路線 – 2008-12-03 07:52:39