Итак, я создаю приложение для хранения ярлыков во всех любимых приложениях для пользователей, которые действуют как хаб. Я могу поддерживать фактические файлы, и у меня есть парсер .lnk
для ярлыков. Я подумал, что приложение также будет очень полезно поддерживать ярлыки Интернета. Это то, что я делаю:
Предположим, я пытаюсь получить значок Google (http://www.google.com/favicon.ico
).
-
Я начинаю избавляться от лишних страниц (например,
www.google.com/anotherpage
станетwww.google.com
. -
Затем я использую
ImageIO.read(java.net.URL)
для получения изображения.
Проблема заключается в том, что ImageIO
никогда не возвращает изображение при вызове этого метода:
String trimmed = getBaseURL(page); //This removes the extra pages
Image icon = null;
try {
String fullURLString = trimmed + "/favicon.ico";
URL faviconURL = new URL(fullURLString);
icon = ImageIO.read(faviconURL);
} catch (IOException e) {
e.printStackTrace();
}
return icon;
Теперь у меня есть два вопроса:
- Поддерживает ли Java формат ICO, даже если он принадлежит Microsoft?
- Почему
ImageIO
не удается прочитать URL-адрес?
Заранее благодарю вас!