From cd1e712c055deb6260e70a38bb4a9a8c032c7ea4 Mon Sep 17 00:00:00 2001 From: Peter Wu Date: Fri, 2 May 2014 18:39:21 +0200 Subject: DataWriter: don't leak input fd --- src/io/DataWriter.java | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/io/DataWriter.java b/src/io/DataWriter.java index d762fee..2e90097 100644 --- a/src/io/DataWriter.java +++ b/src/io/DataWriter.java @@ -97,8 +97,9 @@ public class DataWriter implements ResultListener { */ private Set readIds(Store store) throws IOException { Set idSet = new HashSet<>(); + InputStream is = null; try { - InputStream is = store.getInputStream(); + is = store.getInputStream(); Scanner reader = new Scanner(is); // parse each line into a JSONObject, read the id and add it to // the set of ids. @@ -112,6 +113,14 @@ public class DataWriter implements ResultListener { } catch (JSONException ex) { getLogger().log(Level.WARNING, store.getFileName() + ": File is only partially processed", ex); + } finally { + try { + if (is != null) { + is.close(); + } + } catch (IOException ex) { + getLogger().log(Level.WARNING, "Cannot close input file", ex); + } } return idSet; } -- cgit v1.2.1