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而且图片是错误的这是为什么呢?
Essayez de changer le code comme suit
Le fichier téléchargé sans ajouter UA est en fait comme ça
Avant
outputStream.close()
, appelez d'abordoutputStream.flush()
. Cette méthode peut forcer l'écriture de tous les tampons du flux de sortie. Ce que vous avez dit auparavant est correct, il ne manque qu’une seule étape.Voici ce que j'ai lu en utilisant votre code.
La cible est désactivée, ajoutez un attribut user-agent à la connexion.