0

我正在尝试从我的 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!
4

2 回答 2

3

AFile不能引用 URL。

虽然没试过,但是好像有一个ImageIO.read(URL)方法,可以把一个URL作为输入作为一个URL对象。

我想它会被称为如下:

ImageIO.read(new URL("http://url/to/my/image.png"));
于 2009-06-17T14:35:41.307 回答
1

文件对象无法从 URL 中读取

于 2009-06-17T14:35:58.217 回答