Vì vậy, tôi đang tạo một ứng dụng để lưu trữ lối tắt tới tất cả các ứng dụng yêu thích của người dùng, hoạt động giống như một trung tâm. Tôi có thể hỗ trợ các tệp thực và tôi có trình phân tích cú pháp .lnk
cho các phím tắt. Tôi nghĩ rằng nó sẽ là khá tốt cho các ứng dụng để hỗ trợ các phím tắt Internet, quá. Đây là những gì tôi đang làm:Làm thế nào để có được favicon.ico từ một trang web bằng cách sử dụng Java?
Giả sử tôi đang cố gắng để có được Google's icon (http://www.google.com/favicon.ico
).
tôi bắt đầu ra bằng cách loại bỏ các trang phụ (ví dụ
www.google.com/anotherpage
sẽ trở thànhwww.google.com
.Sau đó, tôi sử dụng
ImageIO.read(java.net.URL)
để có được những hình ảnh.
Vấn đề là ImageIO
không bao giờ trả về Hình ảnh khi tôi gọi phương thức này:
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;
Bây giờ tôi có hai câu hỏi:
- Java có hỗ trợ định dạng ICO mặc dù nó là của Microsoft không?
- Tại sao
ImageIO
không đọc được từ URL?
Cảm ơn bạn trước!
[Nếu không có đăng ký ImageReader nào có thể đọc luồng kết quả, thì giá trị rỗng được trả về.] (Http://docs.oracle.com/javase/6/docs/api/javax/imageio/ImageIO.html) –
@HunterMcMillen Không, bạn có thể giải thích một chút được không? – mattbdean
bạn có chắc chắn rằng 'getBaseURL()' loại bỏ chuỗi cuối cùng không? Nếu không, bạn đang cố gắng lấy hình ảnh từ www.google.com//favicon.ico. – 11684