2017-04-19 63 views
0

我有一个while循环。在while循环中有一个try catch。 在每2秒钟尝试一次IP摄像机的静止图像。重试捕捉java与静止图像

但somethime我得到一个异常,因为代码没有得到所有的数据包.. 现在我想,当我得到的例外,那我的代码重试在我的代码的尝试..

你能帮我 ?

while(true){ 

      Image image = null; 
    try { 

       String path = "http://10.13.8.14/media/cam0/still.jpg?res=800"; 

       URL url = new URL(path); 
       image = ImageIO.read(url); 
       Thread.sleep(2000); 

      } catch (Exception e) { 
       JOptionPane.showMessageDialog(null, "image niet in orde"); 
      } 
      ImageIcon lic = new ImageIcon(image); 
      label.setIcon(lic); 

     } 
+0

只是一个评论。 看起来你有一个无限循环,在某个地方设置了休息。 –

+0

这就是含义,我希望每2个secons从我的IP摄像机的一个新的图像url – belmen

+0

请确保你不会在内存不足... –

回答

1

将代码放在方法中并调用两个调用的方法。

public void tryBlock() throws Exception{ 
     Image image=null; 
     String path = "http://10.13.8.14/media/cam0/still.jpg?res=800"; 
     URL url = new URL(path); 
     image = ImageIO.read(url); 
     Thread.sleep(2000); 
    } 

保持调用此方法,直到没有例外的是看你的代码抛出后

+0

你能举个例子吗? – belmen

+0

继续调用这个方法,直到没有抛出异常 –

+0

我不能写一个方法,因为我的代码站在一个线程中 – belmen