Este código para reanudar la descarga no funciona correctamente en Android, aunque funciona bien en una aplicación Java. Aquí estoy tratando de descargar un archivo zip, y se reanudará la descarga, pero el resultado neto es un archivo zip no válido.Reanudar Descargar no funciona en android
BufferedInputStream in = null;
FileOutputStream fos = null;
BufferedOutputStream bout=null;
try {
downloaded=0;
HttpURLConnection connection = (HttpURLConnection) url.openConnection();
if(ISSUE_DOWNLOAD_STATUS.intValue()==ECMConstant.ECM_DOWNLOADING){
File file=new File(DESTINATION_PATH);
if(file.exists()){
downloaded = (int) file.length();
}
}
connection.setRequestProperty("Range", "bytes=" + downloaded + "-");
connection.connect();
size=connection.getContentLength();
Dialog.setMax(size);
in = new BufferedInputStream(connection.getInputStream());
fos=(downloaded==0)? new FileOutputStream(DESTINATION_PATH): new FileOutputStream(DESTINATION_PATH,true);
bout = new BufferedOutputStream(fos, 1024);
byte[] data = new byte[1024];
int x = 0;
while ((x = in.read(data, 0, 1024)) >= 0) {
bout.write(data, 0, x);
downloaded += x;
System.out.println(downloaded);
onProgressUpdate((int)(downloaded*100/size));
}
succes=true;
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
in.close();
bout.close();
} catch (IOException e) {
e.printStackTrace();
}
}
Gracias.
Agregue algunos detalles en su pregunta: ¿cuál es exactamente el problema al que se enfrenta? Hay algun error? Si es así, ¿puedes publicar thetacktrace? Necesitamos más detalles si queremos responderle. –
En realidad, aquí estoy tratando de descargar un archivo zip ... y continuará descargando también ... pero el resultado neto es un archivo zip no válido ... –