Estoy intentando descargar un archivo grande de mi Yahoo! servidor de sitio web que aparentemente está configurado (no por mí) para desconectar las descargas si no se completan dentro de los 100 segundos. El archivo es lo suficientemente pequeño para poder transferirlo con éxito. En las ocasiones en que la velocidad de datos es lenta y la descarga se desconecta, ¿hay alguna manera de reanudar el URLConnection en el offset del archivo donde se produjo la desconexión? Aquí está el código:cómo reanudar una descarga interrumpida
// Setup connection.
URL url = new URL(strUrl[0]);
URLConnection cx = url.openConnection();
cx.connect();
// Setup streams and buffers.
int lengthFile = cx.getContentLength();
InputStream input = new BufferedInputStream(url.openStream());
OutputStream output = new FileOutputStream(strUrl[1]);
byte data[] = new byte[1024];
// Download file.
for (total=0; (count=input.read(data, 0, 1024)) != -1; total+=count) {
publishProgress((int)(total*100/lengthFile));
output.write(data, 0, count);
Log.d("AsyncDownloadFile", "bytes: " + total);
}
// Close streams.
output.flush();
output.close();
input.close();
Quizás usar algo distinto al servidor del sitio web de Yahoo :) ¿Android no tiene capacidades 'scp'? ¿Cuál es el panorama general aquí? –