как загружать большие файлы без проблем с памятью в java

Когда я пытаюсь загрузить с сервера большой файл размером 260 МБ, я получаю следующую ошибку: java.lang.OutOfMemoryError: Java heap space. Я уверен, что размер моей кучи меньше 252 МБ. Есть ли способ загрузить большие файлы, не увеличивая размер кучи?

Как я могу загружать большие файлы, не получив этой проблемы? Мой код приведен ниже:

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();
14
задан kamaci 18 August 2011 в 12:20
поделиться