Los problemas que noté son:
bufferSize
puede ser la longitud total del archivo. entonces, en una sola lectura, el búfer puede estar lleno. Lo cambié a 512 para obtener un cambio notable en la barra de progresoprogress
variable de restablecimiento dentro del bucle0
hasta bufferSize
) en la secuencia de salida. no el actual `bytesRead. en las últimas partes puede obtener valores de error.buffer
código actualizado
bufferSize = 512;
buffer = new byte[bufferSize];
// Read file
bytesRead = fileInputStream.read(buffer, 0, bufferSize);
progress=0;
while (bytesRead > 0)
{
progress+=bytesRead;
outputStream.write(buffer, 0, bytesRead);
bytesAvailable = fileInputStream.available();
publishProgress((int)((progress*100)/(file.length())));
bufferSize = Math.min(bytesAvailable, maxBufferSize);
buffer = new byte[bufferSize];
bytesRead = fileInputStream.read(buffer, 0, bufferSize);
}//end of while statement
fileInputStream.close();
publishProgress(100);
outputStream.flush();
outputStream.close();
Tenemos mensajes provenientes de la parte superior con una marca de tiempo de vencimiento. Estos mensajes deben procesarse y enviarse a la cadena posterior con un tiempo de vida para varios tipos de mensajes que recibimos ...
Tengo un programa escrito en Java que lee un archivo de Excel y genera el contenido de la celda en la consola de salida de Java, este archivo de Excel contiene datos árabes. El programa funciona bien pero algunas letras árabes ...
Quiero obtener una vista de mi código una vez que se convierte en binario después de presionar Ejecutar clase pública HelloWorld {public static void main (String [] args) {System.out.println ("Hello World"); } } Es ...
Mi aplicación necesita descargar una base de datos desde un enlace, aquí está el código que uso para descargar la base de datos y guardarla en la tarjeta SD: public void DownloadBD () {try {URL url = new URL (...