インスタンスが閉じないようにFileInputStream
、を閉じる必要があります。javadocProperties
から:Properties.load()
このメソッドが戻った後、指定されたストリームは開いたままになります。
を別の変数に格納し、FileInputStream
の外部で宣言し、開いた場合に閉じるブロックをtry
追加します。finally
FileInputStream
Properties properties = new Properties();
FileInputStream fis = null;
try {
fis = new FileInputStream("filename.properties");
properties.load(fis);
} catch (FileNotFoundException e) {
system.out.println("FileNotFound");
} catch (IOException e) {
system.out.println("IOEXCeption");
} finally {
if (null != fis)
{
try
{
fis.close();
}
catch (Exception e)
{
e.printStackTrace();
}
}
}
Java 7以降、try-with-resourcesを使用します。
final Properties properties = new Properties();
try (final FileInputStream fis =
new FileInputStream("filename.properties"))
{
properties.load(fis);
} catch (FileNotFoundException e) {
system.out.println("FileNotFound");
} catch (IOException e) {
system.out.println("IOEXCeption");
}