2013-05-11 3 views
0

Я пытаюсь загрузить изображение с сервера, со следующим кодом:Как проверить, завершен ли BufferedImage в java?

BufferedImage img;  
do{ 
    try { 
     URL url = new URL(myUrl); 
     img = ImageIO.read(url); 
    }catch (IOException e){} 
}while(img == null); 

Идея заключается в том, чтобы держать cheking источника, пока изображение не будет найдено, потому что он будет загружен, а код по-прежнему выполняется , Проблема заключается в том, что, когда изображение все еще загружается на сервер, код останавливается, показывая долю изображения, потому что он не имеет значения loger null, но он все еще не завершен, поэтому как проверить, завершено ли изображение?

+2

Похоже, что должно быть исправлено, является сервером: он должен реагировать с 404 Not Found, пока изображение не будет полностью загружена. И только тогда он должен начать обслуживать его. –

+0

Повторное использование той же операции, когда она продолжает бросать «IOException», которое вы игнорируете, совершенно бесполезно. Зачем ему работать второй и последующий раз, если он не работает в первый раз? Как насчет вас (а) распечатать трассировку стека исключения и (b) опубликовать его здесь? Отредактируйте его в свой пост. – EJP

ответ

0

Изнутри апплета я обрабатывать загрузки изображения, как это:

MediaTracker mediaTracker = new MediaTracker(this); 
Image image = getImage(getDocumentBase(), "image-filename.png"); 
mediaTracker.addImage(image, 0); 
try { 
    mediaTracker.waitForAll(); 
} catch (InterruptedException interuptedException) { 
    interuptedException.printStackTrace(); 
} 
Смежные вопросы