Javaで.iniファイルのような形式の設定ファイルを読み込む

Javaでは.propertiesファイルという、
以下のような形式のファイルを扱うためにPropertiesというクラスが利用出来る。

キー1=値1
キー2=値2
# ←これで始まるとコメントとみなされる
# キー3 = 値3

そのまま使うとインスタンス初期化→データのロード→ストリームを開いたり閉じたり、
とソースが伸びるので、短い行数で読み込めるように関数化してみた。

以下ソース

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.nio.charset.Charset;

import java.util.Properties;

/**
 * 設定ファイル読み込み用のクラス
 * 
 * @author phithon
 * 
 */
public class PropertiesHandler {
    /**
     * 指定されたファイルを設定ファイルとして読み込み、 {@link Properties} にして返します。
     * 指定されたファイルの各行は「キー=値」となるプロパティ、または#で始まるコメントを含むことが出来ます。
     * 
     * @param file 読み込むファイル
     * @return 読み込んだ設定
     * @throws IOException 読み込みに失敗した場合
     */
    public static Properties load(File file) throws IOException {
        return load(file.getPath());
    }

    /**
     * 指定されたファイルを設定ファイルとして読み込み、 {@link Properties} にして返します。
     * 指定されたファイルの各行は「キー=値」となるプロパティ、または#で始まるコメントを含むことが出来ます。
     * 
     * @param filePath 読み込むファイルのパス
     * @return 読み込んだ設定
     * @throws IOException 読み込みに失敗した場合
     */
    public static Properties load(String filePath) throws IOException {
        Properties properties = new Properties();
        FileInputStream fis = null; // ファイルを適当に読み込む
        InputStreamReader isr = null; // 文字コードを直す
        try {
            fis = new FileInputStream(filePath);
            isr = new InputStreamReader(fis, Charset.defaultCharset());
            properties.load(isr);
        } finally { // 問題が起きたらとりあえずストリームを閉じ、残りは呼び出し側に任せる
            if (isr != null) {
                if (fis != null) {
                    fis.close();
                }
                isr.close();
            }
        }
        return properties;
    }

    public static void main(String[] args) throws IOException {
        Properties props = PropertiesHandler.load("./data/config.txt");
        System.out.println(props);
        System.out.println(props.getProperty("キー1"));
    }
}

さっきのファイルを ./data/config.txt として読み込んでみる。
以下実行結果

{キー2=値2, キー1=値1}
値1