2014-11-23 89 views
2

我使用unirest從服務器執行獲取操作。我的問題是,當下載一個大文件時,該操作失敗,並出現內存不足異常。Unirest得到大文件由於內存不足異常而失敗

HttpResponse<InputStream> responseGet = Unirest.get("http://localhost:8080/BigDataTEst") 
     .header("content-type", "*/*") 
     .asBinary();  

有沒有辦法使用unirest來解決這個問題?

回答

0

在哪個JRE版本上運行應用程序?

當我使用Unirest時,對於大文件(超過100 MB),我有同樣的問題(堆空間/內存不足錯誤)。問題出現在Apache Http組件庫上(這正是Arrays.copyOf方法,它是由Apache Http組件引用的)。

當我開始在JRE 8 x64上測試它時,問題消失(我懷疑實現copyOf已被更改或類似的東西)。

所以我建議嘗試不同的JRE,或者你總是可以使用Apache下議院IO和FileUtils.copyURLToFile

+0

這似乎並沒有解決這個問題 – Azi 2018-01-18 03:17:22