Estoy tratando de leer un archivo binario de un URLConnection. Cuando lo pruebo con un archivo de texto parece funcionar bien, pero para los archivos binarios no funciona. Estoy utilizando el siguiente tipo de mimo en el servidor cuando se envía el archivo:Lectura de archivo binario de URLConnection
application/octet-stream
Pero hasta ahora nada parece funcionar. Este es el código que utilizo para recibir el archivo:
file = File.createTempFile("tempfile", ".bin");
file.deleteOnExit();
URL url = new URL("http://somedomain.com/image.gif");
URLConnection connection = url.openConnection();
BufferedReader input = new BufferedReader(new InputStreamReader(connection.getInputStream()));
Writer writer = new OutputStreamWriter(new FileOutputStream(file));
int c;
while((c = input.read()) != -1) {
writer.write((char)c);
}
writer.close();
input.close();
La prueba 'n> 0' es innecesaria. De acuerdo con los javadocs, el único caso donde cero puede ser devuelto es cuando 'buffer.length' es cero. –
... y en cualquier caso una escritura de longitud cero es inofensiva. – EJP
Has guardado mi día :) –