Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

resources.jar内のファイルへのアクセス法

jre/lib/resources.jar中のgifファイルをデスクトップアプリで使用したいのですが、全くわかっていない状態です。
classloader.getSystemResource(path)を使うのかなとか、想像しますが、今のところうまく行きません。パスの指定法も含めて教えてください。適当なサンプルソースなどがあったらそれも良いです。

3

回答

3161

閲覧

3件の回答

評価

0

例えば、
File file = new File(System.getProperty("java.home"));
とすると、JREのパスが取得できます。これが〜jreだとすると、〜jre/lib/resources.jarが目的のjarファイルです。更にこの中の
com/sun/java/swing/plaf/windows/icons/NewFolder.gif
を使いたいとすると、どのようなパス指定になるのでしょうか?
また、Windowsでは大抵、Program Filesのサブフォルダ以降にあると思うので、Program%20Filesに書き換える必要があるのか?
この辺りがとても不勉強なので、一向に先に進めないでおります。どうぞお知恵をお貸しください。

評価

0

クラスローダのインスタンスを使って、
getResourceAsStream("com/sun/java/swing/plaf/windows/icons/NewFolder.gif")
で取れますよ。
っつーか、ある程度問題が数点に絞られているので、
何日も悩むぐらいなら、いろんなパターンを試せばいいのに。と思います。

評価

0

ありがとうございます。
クラスローダがよくわかっていないので、頭が凍り付いていました。やってみます。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。