最近のトラックバック

« 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回有馬記念 »

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

コメント

コメントを書く

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

トラックバック


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

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

2018年10月
  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

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