Close the buffered reader (cherry picked from commit dac1190)
Project: http://git-wip-us.apache.org/repos/asf/groovy/repo Commit: http://git-wip-us.apache.org/repos/asf/groovy/commit/be84f919 Tree: http://git-wip-us.apache.org/repos/asf/groovy/tree/be84f919 Diff: http://git-wip-us.apache.org/repos/asf/groovy/diff/be84f919 Branch: refs/heads/GROOVY_2_4_X Commit: be84f919a6e066638e95fcc2b1a1cca9fe53a3b8 Parents: a782599 Author: sunlan <[email protected]> Authored: Tue Dec 5 08:39:15 2017 +0800 Committer: sunlan <[email protected]> Committed: Tue Dec 5 10:03:19 2017 +0800 ---------------------------------------------------------------------- .../codehaus/groovy/tools/FileSystemCompiler.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/groovy/blob/be84f919/src/main/org/codehaus/groovy/tools/FileSystemCompiler.java ---------------------------------------------------------------------- diff --git a/src/main/org/codehaus/groovy/tools/FileSystemCompiler.java b/src/main/org/codehaus/groovy/tools/FileSystemCompiler.java index d4e6f91..d19547f 100644 --- a/src/main/org/codehaus/groovy/tools/FileSystemCompiler.java +++ b/src/main/org/codehaus/groovy/tools/FileSystemCompiler.java @@ -240,15 +240,25 @@ public class FileSystemCompiler { boolean errors = false; for (String filename : filenames) { if (filename.startsWith("@")) { + String fn = filename.substring(1); + BufferedReader br = null; try { - BufferedReader br = new BufferedReader(new FileReader(filename.substring(1))); - String file; - while ((file = br.readLine()) != null) { + br = new BufferedReader(new FileReader(fn)); + for (String file; (file = br.readLine()) != null; ) { fileList.add(file); } } catch (IOException ioe) { - System.err.println("error: file not readable: " + filename.substring(1)); + System.err.println("error: file not readable: " + fn); errors = true; + } finally { + if (null != br) { + try { + br.close(); + } catch (IOException e) { + System.err.println("error: failed to close buffered reader: " + fn); + errors = true; + } + } } } else { fileList.add(filename);
