- ベストアンサー
javaで画像ファイルを連続に取り込む方法
javaのプログラムで、 load("00001.jpg"); というようにjpgファイルを読み込んでいます。 これを00001.jpg~000009.jpgまで連続に読み込みをしたいのですが、どのようにすればよいでしょうか。 変な書き方になりますが、 for(int i=0;i<9;i++){ load("0000i.jpg"); } のようにしたいです。これだとiが文字として認識されてしまいますが・・・
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
#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; } やっつけでつくったけどこんな感じでいいんじゃない?
その他の回答 (3)
- Bonjin
- ベストアンサー率43% (418/971)
他の方が書いている様に "0000" + i でもいいんですが、目先の問題の解決方法だけではなくDecimalFormatなどのフォーマッタを用いて先を見据えた作り方をした方が良いでしょう。
お礼
御意見ありがとうございます。 これから勉強していく身なので、方向性を示していただくととても助かります。
- houou0123
- ベストアンサー率26% (4/15)
その記述だとiが文字列として認識されてしまいますので、 load("0000" + i + ".jpg") ; にしなければいけませんね。 ちなみにfor文の書き方ですが、00001~00009まで読みたいのであれば for(int i = 1 ; i < 10 ; i++) { load("0000" + i + ".jpg") ; } のようにしてください。
- himajin100000
- ベストアンサー率54% (1660/3060)
load("0000" + Integer.toString(i) + ".jpg"); だと思うけど? loadが何だか知らないけどね。
お礼
文字列とiを分ければいいんですね! ありがとうございます。
お礼
プログラムまで作っていただいてありがとうございます。 参考にして、勉強していきたいと思います。