Puntero de la cabeza FileOutputStream
Estoy buscando alguna confirmación de que FileOutputStream
funciona como creo que sí. Estoy descargando un archivo y, si pierdo la conexión de red, intentar reanudar la descarga desde donde lo dejó.
¿Cómo estoy tratando de hacer esto es abrir el FileOutputStream como no añadir y, a continuación, escribir nada en un desplazamiento. Mi pregunta es que el trabajo o no la apertura como no añadir borrar el contenido? ¿También si escribo en un offset seguirá escribiendo después de esa posición en el archivo en llamadas posteriores para escribir?
- Getdate de datepicker android
- Desplazarse a / establecer la posición de la preferencia de lista personalizada
- Android FileReader de archivo R.raw.file
- ¿Puedo subir imágenes y texto usando UrlEncodedFormEntity para multipartes?
- ¿El cliente REST de Android, Sample?
File outFile = new File(outFileName); FileOutputStream out = new FileOutputStream(outFile); HttpURLConnection connection = (HttpURLConnection) new URL(url).openConnection(); long fileSize = connection.getContentLength(); int status = DOWNLOADING; connection.connect(); InputStream in = connection.getInputStream(); long downloaded = in.skip(outFile.length()); publishProgress(downloaded, fileSize); try { int read = 0; byte buffer[] = new byte[MAX_BUFFER_SIZE]; // Skip ahead in the out buffer out.write(buffer, (int)downloaded, read); while(status == DOWNLOADING) { if(!NetworkUtils.isConnected(_context)) { // This breaks us out of the doInBackground in the AsyncTask _downloadFailed = true; throw new Exception("Network Connectivity Lost!"); } read = in.read(buffer); if(read == -1) { publishProgress(fileSize); break; } out.write(buffer, 0, read); downloaded += read; publishProgress(downloaded); } } finally { out.close(); in.close(); connection.disconnect(); }
- Busquen una letra abreviatura de week day of a date en java
- Android handler .postdelay () cada minuto cambio de hora en el reloj?
- ¿Cómo puedo mantener el estado al cambiar entre las pestañas / fragmentos de la barra de acción?
- Patrón MVC en Android
- división doble android
- Servicio androide con repetición de hilo en el fondo con el bloqueo parcial de la estela
- Cómo crear un archivo apk en la línea de comandos?
- Java convertir la marca de tiempo UTC a DateTime local
También debe echar un vistazo a la clase RandomAccessFile
, que le permitirá buscar una determinada posición y empezar a escribir desde allí sin truncar el archivo.
Usted debe leer el api doc más cuidadosamente.
Abrir un FileOutputStream en no-append más siempre borra el contenido del archivo y escribe al principio. Además, el argumento de desplazamiento del método de escritura es un desplazamiento desde el comienzo de los datos (el argumento de matriz de bytes), no desde el principio del archivo.
Sólo debe abrir la secuencia en el modo de anexar y comenzar a escribir cuando haya leído n bytes de datos, siendo n el número de bytes ya presentes en el archivo.
- ¿Cómo puedo actualizar mi aplicación mediante programación?
- La búsqueda de Android enCancel () no se está escuchando