我正嘗試使用HttpsURLConnection
從服務器讀取響應。優化BufferedReader readLine()操作
InputStreamReader in = new InputStreamReader((InputStream) con.getContent());
BufferedReader buff = new BufferedReader(in);
String line;
StringBuilder response=new StringBuilder();
long st=System.nanoTime();
while ((line =buff.readLine())!= null) {
response=response.append(line +"\n");
}
long et=System.nanoTime();
System.out.println("resp process time: "+((et-st))+" ns");
return response.toString();
}
目前,大約需要450毫秒來讀取整個約80000個字符(1100行)的響應。
輸出:RESP處理時間:435272240納秒
是否可以進一步優化該代碼,以減少處理時間?
的可能重複【JAVA:如何看的BufferedReader更快(http://stackoverflow.com/questions/4666748/java-how-to-read-bufferedreader-faster) – 2015-07-19 12:20:14
@OSryx不完全重複,因爲這裏使用了一個'StringBuilder'。 – RealSkeptic