Ber*_*gil 6 java url javax.imageio
我正试图通过java中的URL从互联网上获取图像.我正在使用以下代码.
URL url = new URL(webAddress);
image = ImageIO.read(url);
Run Code Online (Sandbox Code Playgroud)
有时它可以工作,有时它只是无限期挂起,具体取决于WebAddress是什么.没有错误消息,它只是继续运行,什么都不做.
通过将它们复制并粘贴到Web浏览器中来确认,它们永远挂起的地址肯定有图像.似乎没有哪种模式可以运行,哪些不运行 - 它们都是jpeg.我已经做了一些搜索并找到了一些从URL获取图像的其他方法,但同样的事情发生在所有这些 - 它们处理一些图像并挂在其他图像上.
你知道是什么原因造成这种情况,以及如何解决这个问题?
嗯,我不确定尝试这个,看看是否有任何变化或错误.我也想也许你有setRedirects(boolean b)为false这也可能会给出问题,但首先尝试一下:
URLConnection con = null;
InputStream in = null;
try {
String webadd="urls go here try the two you have had probelms with and success";
URL url = new URL(webadd);
con = url.openConnection();
con.setConnectTimeout(10000);
con.setReadTimeout(10000);
in = con.getInputStream();
Image img = ImageIO.read(in);
if (img != null) {
System.out.println("Loaded");
} else {
System.out.println("Could not load");
}
} catch (IOException ex) {
ex.printStackTrace();
} finally {
if(is != null) {
try {
is.close();
} catch(IOException ex) {
// handle close failure
}
}
if(con != null) {
con.disconnect();
}
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:或者可能是一个错误?:http://bugs.sun.com/view_bug.do;jsessionid= 2bc7386e2f8b4e2550f8b10122f? bug_id=6309072如果上述代码仍然出现错误,请检查:
Image img=new ImageIcon(url).getImage();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2896 次 |
| 最近记录: |