Hatena::Groupprogram

ひとり開発日記。 このページをアンテナに追加 RSSフィード

2017/01/31 (Tue)

Java で src/main/resources 配下にある *.properties ファイルの読み込み

|  Java で src/main/resources 配下にある *.properties ファイルの読み込み - ひとり開発日記。 を含むブックマーク はてなブックマーク -  Java で src/main/resources 配下にある *.properties ファイルの読み込み - ひとり開発日記。

  • src/main/resources 配下にある *.properties ファイルの読み込みをしたい
  • 今は普通に utf8 で書きたいですよね
  • Java SE 8 環境
public class PropertiesUtils {
	/**
	 * resources配下のプロパティファイルを読み込みます
	 *
	 * @param resourceFile
	 *            ファイル名
	 * @return プロパティオブジェクト
	 */
	public static Properties load(String resourceFile) {
		try (InputStream is = ClassLoader.getSystemResourceAsStream(resourceFile);
				InputStreamReader isr = new InputStreamReader(is, StandardCharsets.UTF_8);
				BufferedReader reader = new BufferedReader(isr)) {
			Properties props = new Properties();
			props.load(reader);
			return props;
		} catch (IOException e) {
			// TODO 何かログを出す
			// TODO 適切な例外を設計して処理する
			throw new RuntimeException(e);
		}
	}
}

「ClassLoader の static メソッド何使うんだっけ?」「InputStream の 文字コード指定」等々、毎度忘れてしまいますので、こんな当たり前のことも、自分の日記に書いてみた次第です*1 *2

参考

*1:本来は、Javaの基本機能に組み込んで欲しいですよね…

*2:プロジェクトの度に、同じようなユーティリティ・クラス作ってるような気がしますねー…

トラックバック - http://program.g.hatena.ne.jp/halflite/20170131