Webアプリケーションでプロパティファイルを読み込む

Webアプリケーションで、lプロパティファイルを読み込む場合は、たいていサーブレットの#init()メソッドで読み込むと思う。その際、ファイルパスはweb.xmlで定義する。

web.xml


  testServlet
  testServlet
    
      properties
      /WEB-INF/test.properties
    

でも、この方法だとバッチ処理などでもこのファイルを読み込みたい場合に読み込めない。その場合は、#getResourceAsStream()メソッドを利用する。これを使えば、クラスパスが通ってる個所のファイルを読み込める。例えば、WEB-INF/classes の直下にファイルを配置すれば、以下の方法でWebアプリからもバッチアプリからも読み込めるようになる。

getClass().getClassLoader().getResourceAsStream("test.properties");