2013-05-11 72 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未找到响应。只有这样,它才能开始提供服务。 – 2013-05-11 21:27:16

+0

重做相同的操作,而它一直抛出你不断忽略的'IOException'是完全无用的。如果它第一次不起作用,为什么它会在第二次和随后的时间里工作? (a)打印异常的堆栈跟踪并(b)在此处发布?将其编辑到您的帖子中。 – EJP 2013-05-12 05:34:11

回答

0

从applet中我处理图像加载这样的:

MediaTracker mediaTracker = new MediaTracker(this); 
Image image = getImage(getDocumentBase(), "image-filename.png"); 
mediaTracker.addImage(image, 0); 
try { 
    mediaTracker.waitForAll(); 
} catch (InterruptedException interuptedException) { 
    interuptedException.printStackTrace(); 
}