Wicketでproperties以外のファイルを取得する

alkoshikawa 625views 更新:2014年2月26日

ServletContextを使ってファイルの取得をするとUnitTestのときにパスを変えないといけないので別の手法が望ましいです。

Wicketでは

{project_name}/src/main/resources以下にpropertiesを配置して

ResourceBundle.getBundle("{filename}")

でプロパティを取得できるのでこの階層に対してパスが通っているようです。

そのため使用されているクラスローダに相対パスを指定する形でファイルを取得できるようです。

resourcesの下にsqlというフォルダを作り、その下にsample.sqlを配置した場合、以下のコードで取得可能です。

InputStream in =
        getClass().getClassLoader().getSystemResourceAsStream("sql/sample.sql");

※WindowsでもFileSeparatorは「/」で良いようです。

 

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません