• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:カレントパス取得)

カレントパス取得方法と相対パスの利用について

このQ&Aのポイント
  • カレントパスの取得方法として、System.getPropertyメソッドを使用することができます。
  • システム起動時にイニシャルファイルを読み込む場合、jarファイルを起点とした相対パスのディレクトリに置く必要があります。
  • javaw.exeの位置を取得する場合、System.getPropertyメソッドを使用すると取得できますが、jarファイルとの相対位置にデータを置くことができません。

質問者が選んだベストアンサー

  • ベストアンサー
  • ct27
  • ベストアンサー率62% (48/77)
回答No.1

通常ClassLoaderを使用します。 ClassLoaderを使用すればclasspathが通っている場所を たどって指定のファイルを探してロードしてくれます。 例えばこんな感じで・・・ (icon.gifというファイルをロードする) URL resouceUrl = this.getClass().getClassLoader().getResource( "icon.gif" ); なのてそのイニシャルファイルにパスを通して、ClassLoader を使ってロードすれば大丈夫だと思います。 SunのHPにもソース付きで説明が記載されているので参考 にしてみてはいががでしょうか? -位置に依存しない方法でのリソースへのアクセス- http://java.sun.com/j2se/1.3/ja/docs/ja/guide/resources/resources.html

Vargas
質問者

お礼

ありがとうございました。やってみます。

その他の回答 (1)

  • covachan
  • ベストアンサー率38% (46/120)
回答No.2

相対パスでの指定ができない問題についてはよくわかりません。 ですが、パスを指定するときはセパレータに「\」ではなく「/」を使用しなければならないのではないですか? それとTOMCAT4.1であれば System.getProperty("catalina.home",System.getProperty("user.dir")) でTOMCAT_HOME(CATALINA_HOME?)のディレクトリ(c:\tomcatなど)が取得できます。 それを使ってみてはどうでしょう?

Vargas
質問者

お礼

ありがとうございました。

関連するQ&A