我一直在尝试通过java从url下载图像.
我尝试用很多方法解决它,但我没有成功.
我正在写自己的方式,希望有人能找到错误的地方:
使用第一种和第二种方法,在我尝试打开图像时出现以下错误:
...文件似乎已损坏,损坏或太大
......它的尺寸小于应有的尺寸.
我想这与编码有关.
第一种方式:
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();
Run Code Online (Sandbox Code Playgroud)
第二种方式:
File f= new File("c:\\image.jpg");
URL myUrl = new URL("http://www.avajava.com/images/avajavalogo.jpg");
FileUtils.copyURLToFile(myUrl, f);
Run Code Online (Sandbox Code Playgroud)
顺便说一下,我得到了Exception thread "main" java.lang.IllegalArgumentException: image == null!
第三种方式:
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);
Run Code Online (Sandbox Code Playgroud)
我真的需要你的帮助!!!很久以前我一直试图解决它而没有成功.
提前致谢!!!