簡體   English   中英

大型流的IOUtils.toString()的替代方法?

[英]Alternative to IOUtils.toString() for large streams?

我收到了來自HTTP請求的大量響應流。 它是JSON,因此我需要將其轉換為字符串進行處理。 我在調用toString時堆空間不足。

代碼如下:

URLConnection conn = new URL(url + "?query=" + URLEncoder.encode(sparql, "UTF-8") + "&output=JSON").openConnection();
conn.setRequestProperty("Accept-Charset", "UTF-8");
InputStream respStream = conn.getInputStream();
response = IOUtils.toString(respStream, "UTF-8");
respStream.close();

我嘗試過設置盡可能大的堆大小。 我無法輕松地將數據分成小塊(但是如果沒有更好的選擇,我將實現它)。 有什么建議么?

最后,我只是以較小的塊請求數據,而這應該是我應該做的。 這是一個愚蠢的問題,感謝您抽出寶貴的時間來研究它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM