我想从URLConnection读取二进制文件。当我用文本文件测试它时,它似乎工作正常,但对于二进制文件它没有。当文件发出时,我在服务器上使用以下MIME类型:从URLConnection读取二进制文件
application/octet-stream
但是到目前为止似乎没有任何工作。这是我用来接收文件的代码:
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();
'n> 0'测试是不必要的。根据javadocs,可以返回零的唯一情况是'buffer.length'为零。 – 2010-07-11 22:00:52
...并且无论如何零长度写是无害的。 – EJP 2010-07-12 06:47:37
你救了我的一天:) – 2014-01-20 21:47:10