2011-11-14 3 views
1

によってラインが、私はURLを持っている、と私はこのような画像部分を取得しようとしています:私はそれをダウンロードしているように、画像を表示したいラインイメージスイング

InputStream openStream = url.openStream(); 

     DataInputStream dis = new DataInputStream(new BufferedInputStream(openStream)); 
     ByteArrayOutputStream os = new ByteArrayOutputStream(); 

     while ((s = dis.read(b)) != -1) { 

      os.write(b , 0, s); 

      support.firePropertyChange("stream", null, os); 

     } 

この方法で、任意のリスナーが取得ストリームと、このようにイメージを作成します。

if("stream".equals(evt.getPropertyName())){ 
     try { 
      ByteArrayOutputStream stream = (ByteArrayOutputStream) evt.getNewValue(); 
      byte[] byteArray = stream.toByteArray(); 
      stream.flush(); 
      Image createImage = Toolkit.getDefaultToolkit().createImage(byteArray); 

      this.getContentPane().add(new JLabel(new ImageIcon(createImage))); 

     } catch (IOException ex) { 
      Logger.getLogger(ImageTest.class.getName()).log(Level.SEVERE, null, ex); 
     } 
    } 

しかし、私は「JPEGファイルsun.awt.image.ImageFormatExceptionの早期の終了を:JPEGデータストリームには、画像が含まれていない」取得していますエラーが発生し、画像がJPG画像であり、何か類似のものを作ることが知られているライブラリやメソッドはありますか?

答えて

関連する問題