回答編集履歴

2

訂正

2017/01/13 05:04

投稿

KSwordOfHaste
KSwordOfHaste

スコア18394

test CHANGED
@@ -5,3 +5,13 @@
5
5
  国際化が必要ないのであれば質問者さんのコードにあるように単純にInputStreamからloadして問題ないと思います。問題はFileを生成する際に相対パスを指定している点ではないでしょうか?
6
6
 
7
7
  `file = new File("test.properties")`としたあと、`file.getAbsolutePath()`をログに出力するなどして確認すればどのディレクトリーで実行されているか確認できると思いますが、本来は絶対パスでFileを生成すべきと思います。
8
+
9
+
10
+
11
+ ---
12
+
13
+ 訂正:
14
+
15
+ 「本来は絶対パスでFileを生成すべき」と書きましたがそれはFileを用いる場合の話で、アプリケーションに紐づいたファイルなのでA-pZさんがおっしゃるようにJavaのソースファイルツリー上において`Class#getResourceAsStream`のような方法で得たInputStreamを使うのがよいと思いました。Fileは使わない方がよさそうです。
16
+
17
+

1

訂正

2017/01/13 05:04

投稿

KSwordOfHaste
KSwordOfHaste

スコア18394

test CHANGED
@@ -4,4 +4,4 @@
4
4
 
5
5
  国際化が必要ないのであれば質問者さんのコードにあるように単純にInputStreamからloadして問題ないと思います。問題はFileを生成する際に相対パスを指定している点ではないでしょうか?
6
6
 
7
- `file = new File("test.properties")`としたあと、`file.getAbsolutePath()`をログに出力するなどして確認すればどのディレクトリーで実行されているか確認できると思いますが、本来は絶対パスでFileを出力すべきと思います。
7
+ `file = new File("test.properties")`としたあと、`file.getAbsolutePath()`をログに出力するなどして確認すればどのディレクトリーで実行されているか確認できると思いますが、本来は絶対パスでFileを生成すべきと思います。