Hallo,
ich lade von einem Server partielle Daten über eine HttpURLConnection runter.
Das funktioniert auch wunderbar. Allerdings würde ich gerne mehrere "Teile" herunterladen und zu einer Datei "output.txt" zusammenführen.
Also anstatt, wie in meinem Code Byte 12 bis 100012 auch Byte 200012 bis 300012. Kenn hier jemand die Syntax für?
Java
private class AsyncDownload extends AsyncTask<String, Void, String> {
@Override
protected String doInBackground(String... urls) {
try {
URL url = new URL(urls[0]);
HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection();
urlConnection.setReadTimeout(10000);
urlConnection.setConnectTimeout(15000);
urlConnection.setRequestMethod("GET");
urlConnection.setDoInput(true);
urlConnection.setRequestProperty("Range", "bytes=" + "12" + "-" + "100012");
urlConnection.connect();
File file = new File(Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_DOWNLOADS),"output.txt");
FileOutputStream fileOutput = new FileOutputStream(file);
InputStream inputStream = urlConnection.getInputStream();
byte[] buffer = new byte[1024];
int bufferLength = 0;
while ( (bufferLength = inputStream.read(buffer)) > 0 ) {
fileOutput.write(buffer, 0, bufferLength);
}
fileOutput.close();
} catch (Exception e) {
e.printStackTrace();
Log.d("err ", e.toString());
}
return null;
}
Alles anzeigen