BufferedInputStream
我正在尝试使用&读写大文件(大于 100 MB)BufferedOutputStream
。我收到堆内存问题和 OOM 异常。
代码如下所示:
BufferedInputStream buffIn = new BufferedInputStream(iStream);
/** iStream is the InputStream object **/
BufferedOutputStream buffOut=new BufferedOutputStream(new FileOutputStream(file));
byte []arr = new byte [1024 * 1024];
int available = -1;
while((available = buffIn.read(arr)) > 0) {
buffOut.write(arr, 0, available);
}
buffOut.flush();
buffOut.close();
我的问题是当我们使用它时BufferedOutputStreeam
它是否会保留内存直到完整的文件被写出?
使用 编写大文件的最佳方法是什么BufferedOutputStream
?