Получить изображение из Интернета в Java - PullRequest
0 голосов
/ 17 июня 2009

Я пытаюсь прочитать изображение, которое находится где-то в Интернете, из моей программы на 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!

Ответы [ 2 ]

3 голосов
/ 17 июня 2009

A File не может ссылаться на URL.

Хотя я еще не пробовал, похоже, существует метод ImageIO.read(URL), который может принимать URL-адрес в качестве входных данных в качестве объекта URL.

Я бы предположил, что это будет называться следующим образом:

ImageIO.read(new URL("http://url/to/my/image.png"));
1 голос
/ 17 июня 2009

Файловые объекты не могут считываться с URL-адресов

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...