最近のトラックバック

« 24 SEASONⅥ | トップページ | 第52回有馬記念 »

Java:jarの中のファイルを読み込みたい

Java言語でアプリケーションを作っているのですが、実行クラスや必要なリソースをjarファイルに固めて実行するとリソースが読み取れずエラーになってしまう…。

+ pkg -+- hoge1.class
        -+- test.class
        -+- image -+- aaa.png
                      -+- bbb.png
        -+- sound -+- gagaga.mid

こんな構造で、実行するメインクラスのサブディレクトリ(image)に画像ファイルを置いてあるのですが、これがどうも取得できていないようです。。。
jarにせず展開された状態では普通に実行できるので、jarを実行したときにjar内のファイルが見えていないのでしょうが…よくわかりません。別のサブディレクトリ(sound)内のファイルは読めているのです。いやーだめだこりゃorz

public void loadImage(String filename) {
    try {
        File f = new File(filename);
        image = ImageIO.read(f);     // ←これがエラー
    } catch (IOException e) {
        e.printStackTrace();
    } 
}

んで、エラーになっている箇所を変えてみた。
public void loadImage(String filename) {
    try {
        //File f = new File(filename);
        //image = ImageIO.read(f);
        image = ImageIO.read(getClass().getResource(filename));
    } catch (IOException e) {
        e.printStackTrace();
    } 
}

う、動いた。。。難しいよ。。。

« 24 SEASONⅥ | トップページ | 第52回有馬記念 »

パソコン・インターネット」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/211758/17244263

この記事へのトラックバック一覧です: Java:jarの中のファイルを読み込みたい:

« 24 SEASONⅥ | トップページ | 第52回有馬記念 »

2012年5月
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    

Amazon

  • どういう仕組みか試してみたかったんです
無料ブログはココログ