public class Client { public static void main(String[] args) { try { URL url = new URL("http://www.iteye.com/upload/logo/user/1177132/a7159cc1-b11a-3122-9a9d-5183d6c6ba99.jpg"); HttpURLConnection connection = (HttpURLConnection) url.openConnection(); connection.setConnectTimeout(5 * 1000); InputStream inputStream = connection.getInputStream(); byte[] tmp = new byte[1024]; int length; OutputStream outputStream = new FileOutputStream("E:" + File.separator + "eee.jpg"); while ((length = inputStream.read(tmp)) != -1) { outputStream.write(tmp, 0, length); } outputStream.close(); inputStream.close(); } catch (Exception e) { e.printStackTrace(); } } }
图片URL:
http://www.iteye.com/upload/l...
图片有3K,但我下载后图片只有2K而且图片是错误的这是为什么呢?
Try changing the code to this
The file downloaded without adding UA is actually like this
outputStream.close()之前,先调用outputStream.flush(), this method can force all output stream buffers to be written out. What you said before is correct, there is only one step missing.This is what I read using your code.
The target is disabled, add a user-agent attribute to the connection.