Tak więc tworzę aplikację do przechowywania skrótów do wszystkich ulubionych aplikacji użytkownika, działając jak hub. Mogę mieć wsparcie dla rzeczywistych plików i mam parser .lnk
dla skrótów. Pomyślałem, że byłoby całkiem dobrze, gdyby aplikacja obsługiwała skróty internetowe. Oto, co robię:Jak uzyskać favicon.ico ze strony internetowej za pomocą Java?
Załóżmy, że próbuję uzyskać Google's icon (http://www.google.com/favicon.ico
).
zacznę przez pozbycie się dodatkowych stron (np
www.google.com/anotherpage
stanąwww.google.com
.Następnie używam
ImageIO.read(java.net.URL)
aby uzyskać obraz.
Problem polega na tym, że ImageIO
Nigdy nie zwraca obrazu po wywołaniu tej metody:
Teraz mam dwa pytania:
- Czy Java obsługuje formatu ICO, mimo że jest z firmy Microsoft?
- Dlaczego
ImageIO
nie odczytuje adresu URL?
Z góry dziękuję!
[Jeśli żaden zarejestrowany ImageReader nie twierdzi, że można odczytać wynikowy strumień, zwracana jest wartość null.] (Http://docs.oracle.com/javase/6/docs/api/javax/imageio/ImageIO.html) –
@HunterMcMillen Nie, możesz to wyjaśnić? – mattbdean
czy jesteś pewien, że 'getBaseURL()' również usuwa ostatni ciąg? Jeśli nie, próbujesz uzyskać obraz z www.google.com//favicon.ico. – 11684