Wie laden Sie Bild aus url in java?

Ich habe versucht, laden Sie ein Bild aus url per java.
Ich habe versucht, es zu lösen mit vielen Möglichkeiten, aber es gelang mir nicht.

Schreibe ich meine Wege in der Hoffnung, jemand wird Sie finden, wo es schief ging:

Mit der ersten und der zweiten Weise ich die folgende Fehlermeldung erhalten, während ich versuche, öffnen Sie das Bild:

... Datei scheint beschädigt zu sein, ist beschädigt oder zu groß ist

...und seine Größe ist kleiner als es sein sollte.

Ich denke, es ist im Zusammenhang zu Kodieren.

Erste Möglichkeit:

URL url = new URL("http://www.avajava.com/images/avajavalogo.jpg");
InputStream in = url.openStream();
Files.copy(in, Paths.get("someFile.jpg"), StandardCopyOption.REPLACE_EXISTING);
in.close();

Zweite Möglichkeit:

File f= new File("c:\\image.jpg");
URL myUrl = new URL("http://www.avajava.com/images/avajavalogo.jpg");
FileUtils.copyURLToFile(myUrl, f);

Mit Weg 3 bekomme ich Exception in thread "main" java.lang.IllegalArgumentException: image == null!

Dritten Weg:

URL url = new URL("http://www.avajava.com/images/avajavalogo.jpg");
BufferedImage img = ImageIO.read(url);
File file = new File("downloaded.jpg");
ImageIO.write(img, "jpg", file);

Ich brauche wirklich Eure Hilfe!!! Ich habe versucht, es zu lösen, eine lange Zeit ohne Erfolg.

Vielen Dank im vorraus!!!!!!

Hier überprüfen dieser aus. Dies wird Ihnen helfen,
Die erste Möglichkeit funktioniert auf meiner Seite
Bitte fügen Sie die heruntergeladene Datei aus dem 1. Fall hier, also können wir überprüfen, ob es wirklich beschädigt ist. Auch ich würde versuchen, den Download über andere Mittel und tun diff auf, und java-heruntergeladen, um zu sehen, was die dfiference
Ein Bild ist nur eine binäre Inhalt nichts mehr. Wissend, dass die ersten arbeiten mit jeder Art von Inhalt (Binär oder nicht), es wird die Arbeit mit Bildern zu
die einzige Bemerkung, die ich machen könnte, ist die Verwendung eines try-mit-Ressourcen-Anweisung zu schließen stream was auch immer passiert, wie diese Antwort stackoverflow.com/a/32472138/1997376

InformationsquelleAutor coral | 2016-09-22

Schreibe einen Kommentar