我正在尝试从客户端启动文件下载。我所拥有的只是一个包含服务器端二进制文件的 InputStream。我不知何故需要想办法将它分块转储到 OutputStream 中(我尝试一次写入整个字节数组并遇到 OutOfMemoryException,因为文件超过 100MB)。任何帮助,将不胜感激...
问问题
567 次
1 回答
3
同时进行阅读和写作。
import org.apache.commons.fileupload.util.Streams;
import org.apache.commons.io.FileUtils;
long size = sourceFile.length();
if (size <= Integer.MAX_VALUE)
response.setContentLength((int)size);
InputStream in = FileUtils.openInputStream(sourceFile);
OutputStream out = response.getOutputStream();
Streams.copy(in, out, false);
于 2012-04-19T09:52:25.323 回答