Sto provando a leggere un file binario da un URLConnection. Quando lo provo con un file di testo sembra funzionare bene, ma per i file binari non è così. Sto utilizzando il seguente tipo MIME sul server quando il file viene inviare:Lettura file binario da URLConnection
application/octet-stream
Ma finora nulla sembra funzionare. Questo è il codice che uso per ricevere il file:
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();
Il test 'n> 0' non è necessario. Secondo javadocs, l'unico caso in cui può essere restituito zero è quando 'buffer.length' è zero. –
... e in ogni caso una scrittura di lunghezza zero è innocua. – EJP
Hai salvato la mia giornata :) –