我正在尝试从我的 Java 程序中读取驻留在网络上某处的图像。到目前为止,我已经使用以下代码成功加载了图像。
URL url = new URL("http://www.google.com/images/nav_logo4.png");
Image img = Toolkit.getDefaultToolkit().getImage(url);
我想知道的是为什么这段代码(这是我第一次尝试)不起作用:
BufferedImage img = ImageIO.read(new File("http://www.google.com/images/nav_logo4.png"));
这将有利于给我一个BufferedImage
. 另外,在加载图像之前,如何使上述代码块?我知道我可以使用ImageObserver
,但是有更简单的方法吗?
当我尝试第二个选项时,我得到了这个异常:
javax.imageio.IIOException: Can't read input file!