- - PR -
Servletで相対パスを使用してファイルアクセスができません。
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2005-12-13 14:50
以前どこかで同じ問題を見たことがありますが、見つかりません。
サーブレットを使用して設定ファイルを読み込んで、 DBのアクセス先を取得したいのですが、 FileReader( "./Config.ini" ) どうも、カレントディレクトリのファイルをこれでは 読めないようです。絶対パスで指定すると なぜか問題なく読めるのですが、運用上カレントディレクトリが 好ましいのでどなたか知りませんでしょうか? よろしくお願いいたします。 |
|
投稿日時: 2005-12-13 15:17
カレントディレクトリと思っているところがそうでない、ってことはないでしょうか?
同じJVMでスタンドアロンのプログラムで相対パスで読み込めるか試してみてはいかがでしょう。 |
|
投稿日時: 2005-12-13 16:09
プロパティファイルから絶対ファイル名を所得したり、基準ディレクトリを取得して絶対パスを作ったりするほうが、安全でしょう。
|
|
投稿日時: 2005-12-13 22:19
カレントディレクトリの位置を勘違いしていたって事はないでしょうか?
実行クラスが基準になるわけでもありません。 試しに、new File(".").getAbsolutePath()の戻り値を確認してみましょう。 カレントの絶対パスが出てきます。 そのパスに対しての相対パスなら間違いないでしょう。 サーブレットの場合、外部リソースを取得することが多々ありますが、 クラスパス上に配置し、クラスローダで取得すると、 クラスパスルートが起点となってわかりやすいと思います。 |
1