diff --git a/src/main/org/apache/tools/ant/taskdefs/KeySubst.java b/src/main/org/apache/tools/ant/taskdefs/KeySubst.java index 97f3dbb1f..9067191f7 100644 --- a/src/main/org/apache/tools/ant/taskdefs/KeySubst.java +++ b/src/main/org/apache/tools/ant/taskdefs/KeySubst.java @@ -28,6 +28,7 @@ import java.util.Hashtable; import java.util.StringTokenizer; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Task; +import org.apache.tools.ant.util.FileUtils; /** * Keyword substitution. Input file is written to output file. @@ -80,20 +81,8 @@ public class KeySubst extends Task { } catch (IOException ioe) { ioe.printStackTrace(); } finally { - if (bw != null) { - try { - bw.close(); - } catch (IOException e) { - // ignore - } - } - if (br != null) { - try { - br.close(); - } catch (IOException e) { - // ignore - } - } + FileUtils.close(bw); + FileUtils.close(br); } } diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/i18n/Translate.java b/src/main/org/apache/tools/ant/taskdefs/optional/i18n/Translate.java index 3ca2266a8..573fd8e7d 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/i18n/Translate.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/i18n/Translate.java @@ -530,11 +530,14 @@ public class Translate extends MatchingTask { if (needsWork) { log("Processing " + srcFiles[j], Project.MSG_DEBUG); + BufferedWriter out = null; + BufferedReader in = null; + try { FileOutputStream fos = new FileOutputStream(dest); - BufferedWriter out + out = new BufferedWriter(new OutputStreamWriter(fos, destEncoding)); FileInputStream fis = new FileInputStream(src); - BufferedReader in + in = new BufferedReader(new InputStreamReader(fis, srcEncoding)); String line; LineTokenizer lineTokenizer = new LineTokenizer(); @@ -605,11 +608,9 @@ public class Translate extends MatchingTask { out.write(line); line = lineTokenizer.getToken(in); } - if (in != null) { - in.close(); - } - if (out != null) { - out.close(); + } finally { + FileUtils.close(in); + FileUtils.close(out); } ++filesProcessed; } else { diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java index feced5436..e56a7bd23 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java @@ -944,9 +944,7 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR out.write(Constants.TERMINATED_SUCCESSFULLY + "\n"); out.flush(); } finally { - if (out != null) { - out.close(); - } + FileUtils.close(out); } } } @@ -960,9 +958,7 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR out.write(testCase + "\n"); out.flush(); } finally { - if (out != null) { - out.close(); - } + FileUtils.close(out); } } catch (IOException e) { // ignored. diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLJUnitResultFormatter.java b/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLJUnitResultFormatter.java index 35621ce2e..5e3d1d784 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLJUnitResultFormatter.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLJUnitResultFormatter.java @@ -169,10 +169,16 @@ public class XMLJUnitResultFormatter implements JUnitResultFormatter, XMLConstan wri = new BufferedWriter(new OutputStreamWriter(out, "UTF8")); wri.write("\n"); (new DOMElementWriter()).write(rootElement, wri, 0, " "); - wri.flush(); } catch (IOException exc) { throw new BuildException("Unable to write log file", exc); } finally { + if (wri != null) { + try { + wri.flush(); + } catch (IOException ex) { + // ignore + } + } if (out != System.out && out != System.err) { FileUtils.close(wri); } diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java b/src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java index 1857f8ac7..257e5b793 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java @@ -1799,9 +1799,7 @@ public class FTP extends Task implements FTPTaskConfig { } } } finally { - if (bw != null) { - bw.close(); - } + FileUtils.close(bw); } return dsfiles.length; @@ -2158,13 +2156,7 @@ public class FTP extends Task implements FTPTaskConfig { transferred++; } } finally { - if (instream != null) { - try { - instream.close(); - } catch (IOException ex) { - // ignore it - } - } + FileUtils.close(instream); } } @@ -2295,13 +2287,7 @@ public class FTP extends Task implements FTPTaskConfig { } } } finally { - if (outstream != null) { - try { - outstream.close(); - } catch (IOException ex) { - // ignore it - } - } + FileUtils.close(outstream); } } diff --git a/src/main/org/apache/tools/ant/taskdefs/optional/pvcs/Pvcs.java b/src/main/org/apache/tools/ant/taskdefs/optional/pvcs/Pvcs.java index e3cae4d52..c42f0348f 100644 --- a/src/main/org/apache/tools/ant/taskdefs/optional/pvcs/Pvcs.java +++ b/src/main/org/apache/tools/ant/taskdefs/optional/pvcs/Pvcs.java @@ -38,6 +38,7 @@ import org.apache.tools.ant.taskdefs.LogOutputStream; import org.apache.tools.ant.taskdefs.LogStreamHandler; import org.apache.tools.ant.taskdefs.PumpStreamHandler; import org.apache.tools.ant.types.Commandline; +import org.apache.tools.ant.util.FileUtils; /** * @@ -205,7 +206,7 @@ public class Pvcs extends org.apache.tools.ant.Task { new LogOutputStream(this, Project.MSG_WARN))); } finally { - fos.close(); + FileUtils.close(fos); } if (Execute.isFailure(result) && !ignorerc) { @@ -340,9 +341,7 @@ public class Pvcs extends org.apache.tools.ant.Task { line = in.readLine(); } } finally { - if (in != null) { - in.close(); - } + FileUtils.close(in); } } @@ -366,12 +365,8 @@ public class Pvcs extends org.apache.tools.ant.Task { outWriter.newLine(); } } finally { - if (inReader != null) { - inReader.close(); - } - if (outWriter != null) { - outWriter.close(); - } + FileUtils.close(inReader); + FileUtils.close(outWriter); } }