Cuando intento descargar un archivo grande que es de 260MB desde el servidor, obtengo este error: java.lang.OutOfMemoryError: Java heap space.
Estoy seguro de que mi tamaño de almacenamiento dinámico es inferior a 252MB. ¿Hay alguna forma de que pueda descargar archivos grandes sin aumentar el tamaño del montón?cómo descargar archivos grandes sin problemas de memoria en java
¿Cómo puedo descargar archivos de gran tamaño sin tener este problema? Mi código es el siguiente:
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();
¿Puede aumentar el tamaño del almacenamiento dinámico en la JVM? es decir: java -Xm512m -Xmx512m myClass –
sí, pero me gustaría saber si puedo hacerlo sin aumentar el tamaño del almacenamiento dinámico de jvm, ya que tenemos un requisito para descargar archivos grandes de aproximadamente 1 gb a 10 gb –