忍者ブログ

マインのブログ

マインが何かを気まぐれに書く日記です。

[PR]

カテゴリー:

2024/05/02(Thu)07:07

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

No.|CommentTrackback

Javaアプリの格納パスを取得する

カテゴリー:プログラムとか

2010/02/11(Thu)20:51

Javaで実行ファイル(Jarファイル)の格納パスを取得する方法です。
一応、Eclipseで実行した時はプロジェクトの出力先フォルダを
取得できるようにしてみました。
こうすると、Eclipseで組んでる時とJarにしたときで
同じフォルダ構成が使えるので色々便利かなーと。

まず、普通の実行パスの取得方法は、
System.getProperty("user.dir");
で取得できます。
が、これだと「Jarファイルを実行したパス」しか取れません。
例えば、コマンドプロンプトでデスクトップから
Cドライブ直下のJarファイルを実行すると上のメソッドの戻り値は
デスクトップのパスになり、Jarファイルの格納パスではありません。

Jarの格納パスを取るには、確実に存在するクラスファイルのパスをURIで取得して、
それをうにゃうにゃするとJarの格納パスが取れます。
「うにゃうにゃ」で何をやるかは、まあ、取得したURIを見てもらえば分かると思います。
気をつけないといけないのはJarファイルの時は頭に「jar:」がついてること、
デフォルトパッケージの時はgetPackage()はnullになることですかね。
パスをURLで扱わないのは、なんかURLだと日本語パスがおかしくなったような気がするため。
そんなにテストしてないのでなんとも言えませんが。

一応、実行した時のイメージを貼っておきます。
・Jarファイルで実行した時
InstallPathGetterTestSS1.JPG
・Eclipseで実行した時
InstallPathGetterTestSS2.JPG

あと、ソースとJarファイルを。
InstallPathGetterTest.jara
InstallPathGetterTest.jar

拍手[0回]

PR

No.1920|Comment(0)Trackback()

Comment

Comment Write
Name
Title
Mail
URL

Pass Vodafone絵文字 i-mode絵文字 Ezweb絵文字 

Trackback

URL :