2009年3月16日月曜日

java : jarの.propertiesファイルの位置

メモ、お約束。WINDOWSのプログラムを組んでると「ほにゃらら.ini」というのを自分自身(exe)の相対パスから見えるところに置いておいて読み込むというのがある意味お作法。最近だと、保護ディレクトリ(C:\Program Files\とか)に置かれることを考えて(\Document and Settings\[アプリ]\)とかに置くのが正しいのかしら。最近やってないからようしらん。

javaの場合、プログラム自身が知ってるパスとかリソースがなんか厄介なことになっていて。
クラスパスやらなんやらですね。そんなもん最初からないものにしたいなあというのが本心。
クラスパスってのはつまり実行時にコンパイル時のlibが入っている先を指定してるといった感じの考えだろーか。という感じでイマイチ理解してないです。

ですからjavaの場合もカレントディレクトリを取得してそれを基準に.iniファイルつか.propertiesファイルを探すのは保守的にもラクだし気にいっています。

String curDir = new File(".").getAbsoluteFile().getParent();

これで動作してるファイルのカレントディレクトリはよめてくる。でこのディレクトリの下を見に行って想定するファイルがあるか一通り確認して存在する場合は'true'を返して、処理を続行するようなものを書いておくーようなこと。getResourceとかこれ系の関数は結構あるんだけど振る舞いがブレて使いづらいです。一度挙動はしっかり確認して認識しておくべきだろうなーとは思うのだけれど。

0 件のコメント:

コメントを投稿