2009-06-17 15 views
0

JavaプログラムからWeb上の画像を読み取ろうとしています。これまでのところ、次のコードを使用してイメージを正常にロードしました。 (私が試した最初のものである)、このコードは動作しませんなぜ私が知りたいのは何JavaのWebから画像を取得する

URL url = new URL("http://www.google.com/images/nav_logo4.png"); 
Image img = Toolkit.getDefaultToolkit().getImage(url); 

は次のとおりです。

BufferedImage img = ImageIO.read(new File("http://www.google.com/images/nav_logo4.png")); 

これは私にBufferedImageを与えることの利点を持っているでしょう。また、イメージがロードされるまで上記のコードブロックを作成するにはどうすればよいですか?私はImageObserverを使うことができますが、もっと簡単な方法はありますか?

私は2番目のオプションをしようとすると、私はこの例外を取得:

javax.imageio.IIOException: Can't read input file! 

答えて

3

Fileは、URLを参照することはできません。

私はそれを試していませんが、URLオブジェクトとしてURLを入力できるImageIO.read(URL)メソッドがあるようです。

私は次のように呼ばれることになると推測します:Dは私はあなたが提案した解決策を見つけたので、答えとして、この質問をマークするためにちょうど約ました:

ImageIO.read(new URL("http://url/to/my/image.png")); 
+0

から読み取るカント私の今は今。とにかくあなたの答えは正しかったありがとうございました。 –

+0

ソリューションが正常に動作していることをお聞かせください:) – coobird

1

ファイルオブジェクトは、URL

+0

解決策は掲載されていますが、これは質問に対する真の回答です。 java.io.FileはURLを読み取ることができません。 – Freddy

+0

あなたは正しいです。私は私の質問に答えるので、私はこの答えを促進する必要があります知っています。私はそれも解決策を提供したので、私は他のものを選んだ:D私は私が推測する質問を言い換えるべきだった... –

関連する問題