我正在使用unirest从服务器执行get操作。我的问题是,当下载大文件时,操作失败并出现内存不足的异常。
HttpResponse<InputStream> responseGet = Unirest.get("http://localhost:8080/BigDataTEst")
.header("content-type", "*/*")
.asBinary();
有没有办法使用unirest来解决这个问题?
答案 0 :(得分:0)
您在哪个JRE版本上运行该应用程序?
当我使用Unirest时,我对大文件(超过100 mb)有同样的问题(堆空间/内存不足错误)。问题在于Apache Http Components库(它完全是Arrays.copyOf方法,由Apache Http Components引用)。
当我开始在JRE 8 x64上测试它时问题消失了(我怀疑实现copyOf已被更改或类似的东西)。
所以我建议尝试不同的JRE,或者你总是可以使用Apache Commons IO和FileUtils.copyURLToFile