JSF利用時のWEB-INFディレクトリ内のファイルの取得方法。
スポンサーリンク
例えば、/WEB-INF/web.xml ファイルは以下のように取得できる。
String fileName = "/WEB-INF/web.xml";
ServletContext servletContext = (ServletContext) FacesContext.getCurrentInstance().getExternalContext().getContext();
File file = new File(servletContext.getRealPath(fileName));
また、クラスパスルート(/WEB-INF/classes)の配下にあるファイル(例:log4j.properties)は以下のように取得できる(はず)。
URL url = getClass().getClassLoader().getResource("log4j.properties");
File file = new File(url.toURI());
勿論、上記の2つのコードは Tomcat 上で動かしている前提の話。
参考資料:
- 「JSFでgetRealPathメソッドみたいなことをするには?」(1) Java Solution − @IT
- Java Tips: Webアプリケーション内のファイルを読み込むには - ITmedia エンタープライズ
- http://ameblo.jp/s-nakazono/entry-11250422382.html
- ファイルアップロード処理を簡単にする(Commons活用):JavaTips 〜Apache/Jakarta編 - @IT
- WEB-INF下のファイルの読み込み | ごった煮 - tips about programming and building a server
- http://www.syboos.jp/java/doc/read-file-from-relative-path.html
- HugeDomains.com - Shop for over 300,000 Premium Domains
- Javaで特定のパッケージ配下のクラスを検索する - CLOVER🍀
関連記事: