所以我在我的Java(應該是非常簡單的)應用程序上運行一個分析器,並且感到驚訝的是僅次於需要根據時間發出HTTP請求的方法是我的inputStreamToString
方法。目前定義如下:有效的輸入流到java中的字符串方法
public static String inputStreamToString(InputStream in) throws IOException {
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line).append("\n");
}
in.close();
return sb.toString();
}
我該如何讓這個更快? (是的,我確實需要字符串,並且不,InputStrings不是那麼大,並且不,這種方法比程序中的大多數方法被調用的次數要少,不,我沒有辦法避免這種需要)
嗯,這就是所有的I/O發生(我假設探查器包括所有的時間的readLine()需要等待數據進來)。你能做的唯一明顯的事情就是用一個足夠大的緩衝區預先初始化StringBuilder,這樣它就不必重新分配內存,但我認爲讀取數據所花費的時間會讓所有事情都變得很矮小。 – EboMike 2010-11-26 21:15:38