正在嘗試使用緩衝讀取器讀取JSON響應,如下所示。我正在使用Apache Commons Http客戶端。響應以單行JSON形式出現,字符數不超過1060000,大小約爲1 MB。我所面臨的問題只是流的一部分被讀者讀取而其他部分不見了。我如何閱讀完整的JSON而不會丟失任何數據?這是否與BufferedReader的'CharBufferSize'或流中的字符數量有關?JAVA IO:使用BufferedReader讀取流的問題
InputStream stream = method.getResponseBodyAsStream();
BufferedReader reader = new BufferedReader(new InputStreamReader(stream, "UTF-8"));
StringBuilder builder = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
builder.append(line);
}
得到任何錯誤??? –
您不需要* BufferedInputStream *和* BufferedReader。我什至不明白你爲什麼需要StringBuilder。當然,你可以直接從網絡解析響應? – EJP
編輯code.Yah BufferedInputStream不是必需的。 @HussainAkhtarWahid沒有得到任何錯誤。但最終我只獲得了完整字符串的一部分。 – aravindaM