IOUtils.toByteArray()的OutOfMemory错误

时间:2015-12-01 20:10:11

标签: java file stream out-of-memory bytearray

我在代码中的下一行收到OOM错误。有办法解决吗?我尝试增加堆大小没用。

FileInputStream inputDoc = new FileInputStream(inputDoc1);
byte[] bytes = IOUtils.toByteArray(inputDoc);

upl.edmsDocument = bytes;

UPDATE:添加了以下参数-Xms2048m -Xmx2048m -Xincgc然后我可以连续上传少量大文件,但性能不一致。

1 个答案:

答案 0 :(得分:1)

如果您知道输入的大小,则应使用toByteArray(inputDoc1, inputDoc1Size)代替toByteArray(inputDoc1)。请注意,您仍然受到API documentation.

中所述的Integer.MAX_VALUE条目的限制