當我試圖下載一個大文件是從服務器260MB的,我得到這個錯誤:java.lang.OutOfMemoryError: Java heap space.
我相信我的堆大小小於252MB。有什麼辦法可以在不增加堆大小的情況下下載大文件?如何下載大文件時內存問題在Java
如何下載大文件沒有得到這個問題?我的代碼如下:
String path= "C:/temp.zip";
response.addHeader("Content-Disposition", "attachment; filename=\"test.zip\"");
byte[] buf = new byte[1024];
try {
File file = new File(path);
long length = file.length();
BufferedInputStream in = new BufferedInputStream(new FileInputStream(file));
ServletOutputStream out = response.getOutputStream();
while ((in != null) && ((length = in.read(buf)) != -1)) {
out.write(buf, 0, (int) length);
}
in.close();
out.close();
您能夠增加對JVM堆大小?即:JAVA -Xm512m -Xmx512m MyClass的 –
是的,但我想,要知道如果我能做到這一點不增加JVM堆大小,因爲我們有一個要求,以約1GB的大容量文件下載到10 GB –