2016-05-11 4 views
1

"Images"フォルダ内のすべての画像の高さと幅を取得しようとしています。残念ながら、私はこれを受け取り続けます "ImageInputStreamを作成できません!"エラー。どうすれば解決できますか?javax.imageio.IIOException:ImageInputStreamを作成できません

javax.imageio.IIOException: Can't create an ImageInputStream! 
at javax.imageio.ImageIO.read(ImageIO.java:1280) 
at test.Test1.main(Test1.java:34) 

これは、あなたがファイルを開く代わりに、ディレクトリを開いていないので、だ私の完全なコード

public class Test1 { 
public static void main(String args[]) throws IOException{ 

    try { 
      File f = new File(System.getProperty("user.dir") + System.getProperty("file.separator")+ "Images"); 
      BufferedImage image = ImageIO.read(f); 
      int height = image.getHeight(); 
      int width = image.getWidth(); 
      System.out.println("Width : "+ width); 
      System.out.println("Height : "+ height); 

      } catch (IOException ioe) { 
       ioe.printStackTrace(); 
      } 
    }   
} 

答えて

2

まあです。

File directory = new File(System.getProperty("user.dir") 
     + System.getProperty("file.separator")+ "Images"; 

for(File file: directory.listFiles()) { 
    BufferedImage image = ImageIO.read(file); 
} 
+0

ありがとうございます。このコードは1つの画像に対してのみ機能するので、「画像」フォルダ内のすべての画像の画像プロパティを読み取るにはどうすればよいですか? – Belle

+0

私の答えを編集しました。 – middlestump

+0

イメージファイルのみが処理されるようにFileFilterを追加する必要があります。 – EJP

関連する問題