- PR -

propertiesファイルについて

投稿者投稿内容
かんぱち
ベテラン
会議室デビュー日: 2006/06/01
投稿数: 73
投稿日時: 2006-11-04 13:02
ありがとうございます。

このソース自体も前々から問題が出ていました。(ディレクトリ名に半角スペースがあるとだめとか)
下記ソースですと、pathに絶対パスを指定するということでしょうか?
なるべく相対パス(classes以下を実行時見てくれるものを希望しているのですが・・、環境が変わるたびにJavaソースをいじらなければいけなくなるため・・)

よろしくお願いします。
かつのり
ぬし
会議室デビュー日: 2004/03/18
投稿数: 2015
お住まい・勤務地: 札幌
投稿日時: 2006-11-04 13:26
引用:

このソース自体も前々から問題が出ていました。(ディレクトリ名に半角スペースがあるとだめとか)


確実にURL#getFile()ですね。
URL#getFile()の実装は半角スペースを%20(だったかな・・)に置き換えます。
なので、デコードする必要がありますが、
URL#openStream()なら、内部でデコードした結果に基づいて
ストリームの取得を行うので問題になりません。

引用:

下記ソースですと、pathに絶対パスを指定するということでしょうか?
なるべく相対パス(classes以下を実行時見てくれるものを希望しているのですが・・、環境が変わるたびにJavaソースをいじらなければいけなくなるため・・)


クラスパス上に配置しているからクラスローダで取得したいと言うことですよね。
クラスローダ経由でリソースを取得する場合は、
クラスパスルートを基点とするスラッシュ区切りの相対パスを使用します。
この辺はJavadocのClassLoader#getResourceを読めば理解できると思います。

環境に依存しないリソースのローディングを行う為には、
クラスパス上にリソースを配置して、クラスローダで読み込むのが重要となります。

[ メッセージ編集済み 編集者: かつのり 編集日時 2006-11-04 13:27 ]

[ メッセージ編集済み 編集者: かつのり 編集日時 2006-11-04 13:28 ]
かんぱち
ベテラン
会議室デビュー日: 2006/06/01
投稿数: 73
投稿日時: 2006-11-04 15:54
貴重な意見ありがとうございます。

おっしゃるようにロジックを組みなおし、とりあえずwindows機では動きました。
来週linux機でテストしてみます。

たのむぞぉぉぉ〜〜、お願い!

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

スキルアップ/キャリアアップ(JOB@IT)