• ベストアンサー

javaで画像ファイルを連続に取り込む方法

javaのプログラムで、 load("00001.jpg"); というようにjpgファイルを読み込んでいます。 これを00001.jpg~000009.jpgまで連続に読み込みをしたいのですが、どのようにすればよいでしょうか。 変な書き方になりますが、 for(int i=0;i<9;i++){ load("0000i.jpg"); } のようにしたいです。これだとiが文字として認識されてしまいますが・・・

質問者が選んだベストアンサー

  • ベストアンサー
  • houou0123
  • ベストアンサー率26% (4/15)
回答No.3

#2です ちなみに画像ファイルの読み込みだと BufferedImage[] readImage ; try { for(int i = 0 ; i < 9 ; i++ ){ readImage[i] = ImageIO.read(new File("0000"+(i+1)+".jpg")); } } catch (Exception e) { e.printStackTrace(); readImage = null; } やっつけでつくったけどこんな感じでいいんじゃない?

laview
質問者

お礼

プログラムまで作っていただいてありがとうございます。 参考にして、勉強していきたいと思います。

その他の回答 (3)

  • Bonjin
  • ベストアンサー率43% (418/971)
回答No.4

他の方が書いている様に "0000" + i でもいいんですが、目先の問題の解決方法だけではなくDecimalFormatなどのフォーマッタを用いて先を見据えた作り方をした方が良いでしょう。

laview
質問者

お礼

御意見ありがとうございます。 これから勉強していく身なので、方向性を示していただくととても助かります。

  • houou0123
  • ベストアンサー率26% (4/15)
回答No.2

その記述だとiが文字列として認識されてしまいますので、 load("0000" + i + ".jpg") ; にしなければいけませんね。 ちなみにfor文の書き方ですが、00001~00009まで読みたいのであれば for(int i = 1 ; i < 10 ; i++) { load("0000" + i + ".jpg") ; } のようにしてください。

回答No.1

load("0000" + Integer.toString(i) + ".jpg"); だと思うけど? loadが何だか知らないけどね。

laview
質問者

お礼

文字列とiを分ければいいんですね! ありがとうございます。

関連するQ&A