以下のようなプロジェクトがあるとします。
tomcatproject
|
|-WEB-INF
|
|-conf(appli.properties)
|
|-src
|
|-test(TestServlet.java)
TestServletの内容は以下の通りです。(一部省略)
----------------------------------------------------
private static Properties p = new Properties();
public void init(){
try {
p.load(new FileInputStream("/tomcatproject/WEB-INF/conf/appli.properties"));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
----------------------------------------------------
PropertiesのloadにいったときにFileNotFoundExceptionが
発生してしまうのですが、いろいろ試した結果絶対パス以外は
通らないんです・・・。(C:\eclipse\workspace\........)
どうやれば相対パスで通りますか?
ご教授頂ければ幸いです。
よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
WEBシステムのカレントディレクトリは
request.getRealPath("");
でとれます。
あともし今の環境がWindowsなら区切り文字は"\\"ですがこの環境はWindowsじゃないんですか?
多分プロジェクトフォルダがカレントディレクトリなので
(Windowsの場合)
p.load(new FileInputStream("\\WEB-INF\\conf\\appli.properties"));
でとれるんじゃないかと思います。
(もしマルチOSにしたいなら
「\\」のところをSystem.getProperty("file.separator")でおきかえましょう。)
確かめてないので間違ってたらごめんなさい。
この回答への補足
試してみましたがダメでした・・・。
今回の処理はinitメソッドで行うので
requestは取れません。。
>request.getRealPath("");
私も最初はこれで取れると思っていましたが
なぜか取れないんです。
>"\\WEB-INF\\conf\\appli.properties"
ちなみに環境はWindowsですが、
\\じゃなくても/でいけますよ(^^
ServletConfigからパスを取得することが
できました!!
public void init(ServletConfig config){
String path = config.getServletContext().getRealPath("");
どうもありがとうございます(^^
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Java java final 1 2022/06/10 22:49
- C言語・C++・C# C# で、あるフォルダー内にあるすべてのテキストファイルを別のフォルダーにコピーする。 4 2022/11/21 13:23
- C言語・C++・C# C# DatagridviewにExcelシートを反映するとエラーが出る 2 2023/05/06 17:12
- Java JavaのSingletonパターンのprivateの持つ意味が分かりません。 5 2022/06/12 10:38
- 英語 Targeting titanium surfaces with improved antimicr 1 2022/07/13 09:50
- Java Java プログラム public class Main { public static void 3 2023/08/10 23:46
- PHP PHP一覧表示した項目にリンクをはりたい 1 2023/07/12 17:08
- PHP DBのハッシュ化したパスワードをpassword_verifyで戻し照合したのですが上手く行きません 2 2023/02/06 13:24
- Java java 入力 3 4 3 出力 ABC DEFG HIJ このようなプログラムの書き方を教えてくだ 2 2022/07/15 14:18
- その他(コンピューター・テクノロジー) <a href="file:///フォルダ名/ファイル名">リンクテキスト</a>について 1 2023/04/06 22:40
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
C#で、あるクラスのメンバーす...
-
大量のデータを読み込んで表示...
-
LVM_SETITEMSTATEでListViewの...
-
Thread.sleepのInterruptedExce...
-
JavaのSwingで別のフォーム...
-
C# DataGridView列カスタマイズ
-
JavaSwingのファンクションキー...
-
C# WinForm のDataGridView Cel...
-
Processingでマウスクリックで...
-
C# タスク非表示でタイトルバー...
-
C# 矢印キーの取得
-
Junitテストでvoid戻り値メッソ...
-
【Java】画像表示が出来ない!
-
JSPやサーブレットでSystem.out...
-
ダブルクォーテーションのrepla...
-
ページング
-
ループ処理の際、最後だけ","を...
-
ORA-01858: 数値を指定する箇所...
-
C言語のポインターに関する警告
-
続・ZZZ,ZZZ,ZZ9形式の金額形式...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
大量のデータを読み込んで表示...
-
C#で、あるクラスのメンバーす...
-
Junitテストでvoid戻り値メッソ...
-
C#でのWNetAddConnection3の使...
-
Processingでマウスクリックで...
-
ボタンの複数割り当てについて
-
エンターキーを押すとOKボタン...
-
C# 矢印キーの取得
-
C# visibleプロパティをfalseに...
-
Thread.sleepのInterruptedExce...
-
C# DataGridView列カスタマイズ
-
C#でキーイベントが発生しない...
-
LVM_SETITEMSTATEでListViewの...
-
[C#.net]スレッド化された別フ...
-
GetDIBits関数の使い方について
-
C# 半角カナの文字化けについて
-
C# 親フォームで指定した値を...
-
javaアプレット repaintのタイ...
-
デスクトップマスコットのドラ...
-
C#で別のFormへ複数の値を返そ...
おすすめ情報