2012-03-19 9 views
1

test.propertyというプロパティファイルには、user.homeにアクセスするにはどうすればよいですか?これは動作しませんuser.homeディレクトリのプロパティファイルへのアクセス方法は?

public class Properties { 

    private static java.util.Properties p = new java.util.Properties(); 

    static { 
     try { 
      String home = System.getProperty("user.home"); 
      home += "\\test.properties"; 
      System.out.println("User home: " + home); 
      InputStream is = Properties.class.getResourceAsStream(home); 
      p.load(is); 

     } catch (FileNotFoundException e) { 
      System.out.println("property file could not be found!"); 
     } catch (IOException e) { 
      e.printStackTrace(); 
     } 
    } 
} 
+1

さて、メインクラスのパッケージ名に基づいて、アプリケーションプロパティを 'user.home'のサブディレクトリに配置する方がよいでしょう。これは、*(劣悪な名前の) 'test.properties'が* my *(あまり名前のない)' test.properties'(あるいはその逆)を上書きするのを避けるのに役立ちます。 –

+0

@dooonot今後の参考として、「機能しません」は、問題を記述する適切な方法ではありません。コードを投稿することが最初のステップです。次は実際に何が起こっているのか、つまりどの出力が得られているのか、例外などが投稿されます。人々がコードをコンパイルして実行するだけでなく、あなたはそうです。 – Thor84no

答えて

1
File propsFile = new File(home, "test.properties"); 
InputStream is = new FileInputStream(propsFile); 

おそらくuser.homeは、アプリケーションの実行時のクラスパス上にないことがわかります。その場合は、代わりにFileを使用してください。

関連する問題