From 46f68d5fc621324368ad31fbba52bdf13abfae48 Mon Sep 17 00:00:00 2001 From: Alexander Pivovarov Date: Wed, 7 Sep 2016 14:11:06 -0700 Subject: [PATCH] [FLINK-4595] Close FileOutputStream in ParameterTool --- .../java/org/apache/flink/api/java/utils/ParameterTool.java | 5 ++++- .../org/apache/flink/api/java/utils/ParameterToolTest.java | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/flink-java/src/main/java/org/apache/flink/api/java/utils/ParameterTool.java b/flink-java/src/main/java/org/apache/flink/api/java/utils/ParameterTool.java index 46c73879fb3df..38ae6df8ee73e 100644 --- a/flink-java/src/main/java/org/apache/flink/api/java/utils/ParameterTool.java +++ b/flink-java/src/main/java/org/apache/flink/api/java/utils/ParameterTool.java @@ -31,6 +31,7 @@ import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; +import java.io.OutputStream; import java.io.Serializable; import java.util.Arrays; import java.util.HashMap; @@ -523,7 +524,9 @@ public void createPropertiesFile(String pathToFile, boolean overwrite) throws IO } Properties defaultProps = new Properties(); defaultProps.putAll(this.defaultData); - defaultProps.store(new FileOutputStream(file), "Default file created by Flink's ParameterUtil.createPropertiesFile()"); + try (final OutputStream out = new FileOutputStream(file)) { + defaultProps.store(out, "Default file created by Flink's ParameterUtil.createPropertiesFile()"); + } } @Override diff --git a/flink-java/src/test/java/org/apache/flink/api/java/utils/ParameterToolTest.java b/flink-java/src/test/java/org/apache/flink/api/java/utils/ParameterToolTest.java index a070473fe0597..09a778130b5d6 100644 --- a/flink-java/src/test/java/org/apache/flink/api/java/utils/ParameterToolTest.java +++ b/flink-java/src/test/java/org/apache/flink/api/java/utils/ParameterToolTest.java @@ -29,6 +29,7 @@ import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; +import java.io.OutputStream; import java.util.Map; import java.util.Properties; @@ -118,7 +119,9 @@ public void testFromPropertiesFile() throws IOException { Properties props = new Properties(); props.setProperty("input", "myInput"); props.setProperty("expectedCount", "15"); - props.store(new FileOutputStream(propertiesFile), "Test properties"); + try (final OutputStream out = new FileOutputStream(propertiesFile)) { + props.store(out, "Test properties"); + } ParameterTool parameter = ParameterTool.fromPropertiesFile(propertiesFile.getAbsolutePath()); Assert.assertEquals(2, parameter.getNumberOfParameters()); validate(parameter);