Browse Source

reduce GC pressure by replacing File(In|Out)putStream

master
Stefan Bodewig 8 years ago
parent
commit
af74d1f6b8
85 changed files with 311 additions and 279 deletions
  1. +3
    -0
      WHATSNEW
  2. +3
    -3
      src/main/org/apache/tools/ant/AntClassLoader.java
  3. +6
    -6
      src/main/org/apache/tools/ant/Diagnostics.java
  4. +6
    -6
      src/main/org/apache/tools/ant/Main.java
  5. +3
    -2
      src/main/org/apache/tools/ant/XmlLogger.java
  6. +4
    -4
      src/main/org/apache/tools/ant/helper/ProjectHelper2.java
  7. +6
    -5
      src/main/org/apache/tools/ant/helper/ProjectHelperImpl.java
  8. +3
    -2
      src/main/org/apache/tools/ant/input/PropertyFileInputHandler.java
  9. +3
    -2
      src/main/org/apache/tools/ant/listener/AnsiColorLogger.java
  10. +3
    -2
      src/main/org/apache/tools/ant/listener/MailLogger.java
  11. +3
    -4
      src/main/org/apache/tools/ant/taskdefs/AbstractCvsTask.java
  12. +2
    -2
      src/main/org/apache/tools/ant/taskdefs/Ant.java
  13. +4
    -3
      src/main/org/apache/tools/ant/taskdefs/AntStructure.java
  14. +4
    -3
      src/main/org/apache/tools/ant/taskdefs/BUnzip2.java
  15. +3
    -2
      src/main/org/apache/tools/ant/taskdefs/BZip2.java
  16. +7
    -6
      src/main/org/apache/tools/ant/taskdefs/BuildNumber.java
  17. +7
    -6
      src/main/org/apache/tools/ant/taskdefs/Checksum.java
  18. +2
    -2
      src/main/org/apache/tools/ant/taskdefs/Concat.java
  19. +1
    -2
      src/main/org/apache/tools/ant/taskdefs/EchoXML.java
  20. +4
    -3
      src/main/org/apache/tools/ant/taskdefs/Expand.java
  21. +2
    -2
      src/main/org/apache/tools/ant/taskdefs/FixCRLF.java
  22. +4
    -3
      src/main/org/apache/tools/ant/taskdefs/GUnzip.java
  23. +3
    -2
      src/main/org/apache/tools/ant/taskdefs/GZip.java
  24. +2
    -2
      src/main/org/apache/tools/ant/taskdefs/Get.java
  25. +3
    -3
      src/main/org/apache/tools/ant/taskdefs/Jar.java
  26. +2
    -2
      src/main/org/apache/tools/ant/taskdefs/Javac.java
  27. +4
    -4
      src/main/org/apache/tools/ant/taskdefs/Javadoc.java
  28. +6
    -5
      src/main/org/apache/tools/ant/taskdefs/ManifestTask.java
  29. +3
    -3
      src/main/org/apache/tools/ant/taskdefs/Property.java
  30. +3
    -2
      src/main/org/apache/tools/ant/taskdefs/RecorderEntry.java
  31. +3
    -4
      src/main/org/apache/tools/ant/taskdefs/Replace.java
  32. +1
    -2
      src/main/org/apache/tools/ant/taskdefs/SQLExec.java
  33. +2
    -2
      src/main/org/apache/tools/ant/taskdefs/Tar.java
  34. +3
    -3
      src/main/org/apache/tools/ant/taskdefs/Untar.java
  35. +3
    -4
      src/main/org/apache/tools/ant/taskdefs/Zip.java
  36. +5
    -5
      src/main/org/apache/tools/ant/taskdefs/cvslib/ChangeLogTask.java
  37. +4
    -3
      src/main/org/apache/tools/ant/taskdefs/cvslib/CvsTagDiff.java
  38. +3
    -2
      src/main/org/apache/tools/ant/taskdefs/email/Message.java
  39. +3
    -2
      src/main/org/apache/tools/ant/taskdefs/email/PlainMailer.java
  40. +3
    -2
      src/main/org/apache/tools/ant/taskdefs/email/UUMailer.java
  41. +5
    -5
      src/main/org/apache/tools/ant/taskdefs/optional/EchoProperties.java
  42. +6
    -6
      src/main/org/apache/tools/ant/taskdefs/optional/PropertyFile.java
  43. +3
    -4
      src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java
  44. +5
    -5
      src/main/org/apache/tools/ant/taskdefs/optional/Rpm.java
  45. +3
    -4
      src/main/org/apache/tools/ant/taskdefs/optional/TraXLiaison.java
  46. +2
    -2
      src/main/org/apache/tools/ant/taskdefs/optional/XMLValidateTask.java
  47. +3
    -2
      src/main/org/apache/tools/ant/taskdefs/optional/depend/AntAnalyzer.java
  48. +4
    -3
      src/main/org/apache/tools/ant/taskdefs/optional/depend/DirectoryIterator.java
  49. +3
    -4
      src/main/org/apache/tools/ant/taskdefs/optional/ejb/DescriptorHandler.java
  50. +7
    -8
      src/main/org/apache/tools/ant/taskdefs/optional/ejb/GenericDeploymentTool.java
  51. +3
    -2
      src/main/org/apache/tools/ant/taskdefs/optional/ejb/IPlanetEjbc.java
  52. +4
    -6
      src/main/org/apache/tools/ant/taskdefs/optional/ejb/WeblogicDeploymentTool.java
  53. +2
    -2
      src/main/org/apache/tools/ant/taskdefs/optional/ejb/WebsphereDeploymentTool.java
  54. +4
    -3
      src/main/org/apache/tools/ant/taskdefs/optional/extension/JarLibManifestTask.java
  55. +8
    -7
      src/main/org/apache/tools/ant/taskdefs/optional/i18n/Translate.java
  56. +4
    -3
      src/main/org/apache/tools/ant/taskdefs/optional/image/Image.java
  57. +6
    -6
      src/main/org/apache/tools/ant/taskdefs/optional/jlink/jlink.java
  58. +2
    -2
      src/main/org/apache/tools/ant/taskdefs/optional/junit/AggregateTransformer.java
  59. +2
    -2
      src/main/org/apache/tools/ant/taskdefs/optional/junit/FormatterElement.java
  60. +3
    -3
      src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java
  61. +5
    -3
      src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java
  62. +2
    -2
      src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregator.java
  63. +3
    -4
      src/main/org/apache/tools/ant/taskdefs/optional/native2ascii/BuiltinNative2Ascii.java
  64. +4
    -5
      src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java
  65. +4
    -5
      src/main/org/apache/tools/ant/taskdefs/optional/net/FTPTaskMirrorImpl.java
  66. +3
    -2
      src/main/org/apache/tools/ant/taskdefs/optional/pvcs/Pvcs.java
  67. +2
    -2
      src/main/org/apache/tools/ant/taskdefs/optional/ssh/SSHExec.java
  68. +2
    -2
      src/main/org/apache/tools/ant/taskdefs/optional/ssh/ScpFromMessage.java
  69. +2
    -2
      src/main/org/apache/tools/ant/taskdefs/optional/ssh/ScpToMessage.java
  70. +4
    -4
      src/main/org/apache/tools/ant/taskdefs/optional/unix/Symlink.java
  71. +4
    -3
      src/main/org/apache/tools/ant/taskdefs/optional/xz/Unxz.java
  72. +2
    -2
      src/main/org/apache/tools/ant/taskdefs/optional/xz/Xz.java
  73. +4
    -3
      src/main/org/apache/tools/ant/types/FilterSet.java
  74. +2
    -2
      src/main/org/apache/tools/ant/types/XMLCatalog.java
  75. +3
    -4
      src/main/org/apache/tools/ant/types/resources/FileResource.java
  76. +3
    -2
      src/main/org/apache/tools/ant/types/selectors/modifiedselector/ChecksumAlgorithm.java
  77. +4
    -3
      src/main/org/apache/tools/ant/types/selectors/modifiedselector/DigestAlgorithm.java
  78. +5
    -4
      src/main/org/apache/tools/ant/types/selectors/modifiedselector/PropertiesfileCache.java
  79. +2
    -2
      src/main/org/apache/tools/ant/util/ConcatFileInputStream.java
  80. +19
    -0
      src/main/org/apache/tools/ant/util/FileUtils.java
  81. +2
    -2
      src/main/org/apache/tools/ant/util/LayoutPreservingProperties.java
  82. +3
    -3
      src/main/org/apache/tools/ant/util/LazyFileOutputStream.java
  83. +4
    -11
      src/main/org/apache/tools/ant/util/ResourceUtils.java
  84. +3
    -4
      src/main/org/apache/tools/ant/util/ScriptRunnerBase.java
  85. +2
    -2
      src/main/org/apache/tools/zip/ZipOutputStream.java

+ 3
- 0
WHATSNEW View File

@@ -25,6 +25,9 @@ Other changes:
* added "regexp" attribute to <linecontainsregexp>
Bugzilla Report 60968

* reduced GC pressure by replacing all usage of FileInputStream and
FileOutputStream.

Changes from Ant 1.10.0 TO Ant 1.10.1
=====================================



+ 3
- 3
src/main/org/apache/tools/ant/AntClassLoader.java View File

@@ -20,12 +20,12 @@ package org.apache.tools.ant;
import java.io.ByteArrayOutputStream;
import java.io.Closeable;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Constructor;
import java.net.MalformedURLException;
import java.net.URL;
import java.nio.file.Files;
import java.security.CodeSource;
import java.security.ProtectionDomain;
import java.security.cert.Certificate;
@@ -787,7 +787,7 @@ public class AntClassLoader extends ClassLoader implements SubBuildListener, Clo
if (jarFile == null && file.isDirectory()) {
final File resource = new File(file, resourceName);
if (resource.exists()) {
return new FileInputStream(resource);
return Files.newInputStream(resource.toPath());
}
} else {
if (jarFile == null) {
@@ -1579,7 +1579,7 @@ public class AntClassLoader extends ClassLoader implements SubBuildListener, Clo
}

private static boolean readFully(final File f, final byte[] b) throws IOException {
try (FileInputStream fis = new FileInputStream(f)) {
try (InputStream fis = Files.newInputStream(f.toPath())) {
final int len = b.length;
int count = 0, x = 0;
while (count != len) {


+ 6
- 6
src/main/org/apache/tools/ant/Diagnostics.java View File

@@ -18,15 +18,15 @@
package org.apache.tools.ant;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FilenameFilter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintStream;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.net.URL;
import java.nio.file.Files;
import java.util.Calendar;
import java.util.Enumeration;
import java.util.Properties;
@@ -576,12 +576,12 @@ public final class Diagnostics {
//create the file
long now = System.currentTimeMillis();
File tempFile = null;
FileOutputStream fileout = null;
FileInputStream filein = null;
OutputStream fileout = null;
InputStream filein = null;
try {
tempFile = File.createTempFile("diag", "txt", tempDirectory);
//do some writing to it
fileout = new FileOutputStream(tempFile);
fileout = Files.newOutputStream(tempFile.toPath());
byte[] buffer = new byte[KILOBYTE];
for (int i = 0; i < TEST_FILE_SIZE; i++) {
fileout.write(buffer);
@@ -591,7 +591,7 @@ public final class Diagnostics {

// read to make sure the file has been written completely
Thread.sleep(1000);
filein = new FileInputStream(tempFile);
filein = Files.newInputStream(tempFile.toPath());
int total = 0;
int read = 0;
while ((read = filein.read(buffer, 0, KILOBYTE)) > 0) {


+ 6
- 6
src/main/org/apache/tools/ant/Main.java View File

@@ -19,11 +19,11 @@
package org.apache.tools.ant;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -355,10 +355,10 @@ public class Main implements AntMain {
try {
final File logFile = new File(args[i + 1]);
i++;
// life-cycle of FileOutputStream is controlled by
// life-cycle of OutputStream is controlled by
// logTo which becomes "out" and is closed in
// handleLogfile
logTo = new PrintStream(new FileOutputStream(logFile)); //NOSONAR
logTo = new PrintStream(Files.newOutputStream(logFile.toPath())); //NOSONAR
isLogFileUsed = true;
} catch (final IOException ioe) {
final String msg = "Cannot write on the specified log file. "
@@ -656,9 +656,9 @@ public class Main implements AntMain {
private void loadPropertyFiles() {
for (final String filename : propertyFiles) {
final Properties props = new Properties();
FileInputStream fis = null;
InputStream fis = null;
try {
fis = new FileInputStream(filename);
fis = Files.newInputStream(Paths.get(filename));
props.load(fis);
} catch (final IOException e) {
System.out.println("Could not load property file "


+ 3
- 2
src/main/org/apache/tools/ant/XmlLogger.java View File

@@ -17,12 +17,13 @@
*/
package org.apache.tools.ant;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintStream;
import java.io.Writer;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Stack;
@@ -185,7 +186,7 @@ public class XmlLogger implements BuildLogger {
// up everything
OutputStream stream = outStream;
if (stream == null) {
stream = new FileOutputStream(outFilename);
stream = Files.newOutputStream(Paths.get(outFilename));
}
out = new OutputStreamWriter(stream, "UTF8");
out.write("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");


+ 4
- 4
src/main/org/apache/tools/ant/helper/ProjectHelper2.java View File

@@ -18,13 +18,13 @@
package org.apache.tools.ant.helper;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.net.URL;
import java.net.URLConnection;
import java.nio.file.Files;
import java.util.HashMap;
import java.util.Hashtable;
import java.util.Map;
@@ -247,7 +247,7 @@ public class ProjectHelper2 extends ProjectHelper {
String uri = null;
if (buildFile != null) {
uri = FILE_UTILS.toURI(buildFile.getAbsolutePath());
inputStream = new FileInputStream(buildFile);
inputStream = Files.newInputStream(buildFile.toPath());
} else {
uri = url.toString();
int pling = -1;
@@ -538,10 +538,10 @@ public class ProjectHelper2 extends ProjectHelper {
}
context.getProject().log("file=" + file, Project.MSG_DEBUG);
try {
InputSource inputSource = new InputSource(new FileInputStream(file));
InputSource inputSource = new InputSource(Files.newInputStream(file.toPath()));
inputSource.setSystemId(FILE_UTILS.toURI(file.getAbsolutePath()));
return inputSource;
} catch (FileNotFoundException fne) {
} catch (IOException fne) {
context.getProject().log(file.getAbsolutePath() + " could not be found",
Project.MSG_WARN);
}


+ 6
- 5
src/main/org/apache/tools/ant/helper/ProjectHelperImpl.java View File

@@ -18,10 +18,11 @@
package org.apache.tools.ant.helper;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.UnsupportedEncodingException;
import java.nio.file.Files;
import java.util.Locale;

import org.apache.tools.ant.BuildException;
@@ -110,7 +111,7 @@ public class ProjectHelperImpl extends ProjectHelper {
+ "default plugin");
}
File bFile = (File) source;
FileInputStream inputStream = null;
InputStream inputStream = null;
InputSource inputSource = null;

this.project = project;
@@ -124,7 +125,7 @@ public class ProjectHelperImpl extends ProjectHelper {
parser = new XMLReaderAdapter(JAXPUtils.getXMLReader());
}
String uri = FILE_UTILS.toURI(bFile.getAbsolutePath());
inputStream = new FileInputStream(bFile);
inputStream = Files.newInputStream(bFile.toPath());
inputSource = new InputSource(inputStream);
inputSource.setSystemId(uri);
project.log("parsing buildfile " + bFile + " with URI = " + uri, Project.MSG_VERBOSE);
@@ -302,10 +303,10 @@ public class ProjectHelperImpl extends ProjectHelper {
+ "' for compliance with other XML tools", Project.MSG_WARN);
}
try {
InputSource inputSource = new InputSource(new FileInputStream(file));
InputSource inputSource = new InputSource(Files.newInputStream(file.toPath()));
inputSource.setSystemId(FILE_UTILS.toURI(file.getAbsolutePath()));
return inputSource;
} catch (FileNotFoundException fne) {
} catch (IOException fne) {
helperImpl.project.log(file.getAbsolutePath() + " could not be found",
Project.MSG_WARN);
}


+ 3
- 2
src/main/org/apache/tools/ant/input/PropertyFileInputHandler.java View File

@@ -18,8 +18,9 @@

package org.apache.tools.ant.input;

import java.io.FileInputStream;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Properties;

import org.apache.tools.ant.BuildException;
@@ -82,7 +83,7 @@ public class PropertyFileInputHandler implements InputHandler {
props = new Properties();

try {
props.load(new FileInputStream(propsFile));
props.load(Files.newInputStream(Paths.get(propsFile)));
} catch (IOException e) {
throw new BuildException("Couldn't load " + propsFile, e);
}


+ 3
- 2
src/main/org/apache/tools/ant/listener/AnsiColorLogger.java View File

@@ -17,10 +17,11 @@
*/
package org.apache.tools.ant.listener;

import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Properties;

import org.apache.tools.ant.DefaultLogger;
@@ -162,7 +163,7 @@ public class AnsiColorLogger extends DefaultLogger {
Properties prop = new Properties();

if (userColorFile != null) {
in = new FileInputStream(userColorFile);
in = Files.newInputStream(Paths.get(userColorFile));
} else {
in = getClass().getResourceAsStream(systemColorFile);
}


+ 3
- 2
src/main/org/apache/tools/ant/listener/MailLogger.java View File

@@ -18,10 +18,11 @@
package org.apache.tools.ant.listener;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Properties;
@@ -119,7 +120,7 @@ public class MailLogger extends DefaultLogger {
if (filename != null) {
InputStream is = null;
try {
is = new FileInputStream(filename);
is = Files.newInputStream(Paths.get(filename));
fileProperties.load(is);
} catch (IOException ioe) {
// ignore because properties file is not required


+ 3
- 4
src/main/org/apache/tools/ant/taskdefs/AbstractCvsTask.java View File

@@ -20,10 +20,10 @@ package org.apache.tools.ant.taskdefs;

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.List;
import java.util.Vector;
@@ -201,8 +201,7 @@ public abstract class AbstractCvsTask extends Task {
try {
setOutputStream(new PrintStream(
new BufferedOutputStream(
new FileOutputStream(output
.getPath(),
FileUtils.newOutputStream(Paths.get(output.getPath()),
append))));
} catch (IOException e) {
throw new BuildException(e, getLocation());
@@ -241,7 +240,7 @@ public abstract class AbstractCvsTask extends Task {
try {
setErrorStream(new PrintStream(
new BufferedOutputStream(
new FileOutputStream(error.getPath(),
FileUtils.newOutputStream(Paths.get(error.getPath()),
append))));
} catch (IOException e) {
throw new BuildException(e, getLocation());


+ 2
- 2
src/main/org/apache/tools/ant/taskdefs/Ant.java View File

@@ -19,10 +19,10 @@
package org.apache.tools.ant.taskdefs;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.lang.reflect.Method;
import java.nio.file.Files;
import java.util.Enumeration;
import java.util.HashSet;
import java.util.Hashtable;
@@ -206,7 +206,7 @@ public class Ant extends Task {
outfile = getProject().resolveFile(output);
}
try {
out = new PrintStream(new FileOutputStream(outfile));
out = new PrintStream(Files.newOutputStream(outfile.toPath()));
DefaultLogger logger = new DefaultLogger();
logger.setMessageOutputLevel(Project.MSG_INFO);
logger.setOutputPrintStream(out);


+ 4
- 3
src/main/org/apache/tools/ant/taskdefs/AntStructure.java View File

@@ -19,12 +19,13 @@
package org.apache.tools.ant.taskdefs;

import java.io.File;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.nio.file.Files;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Vector;
@@ -85,9 +86,9 @@ public class AntStructure extends Task {

PrintWriter out = null;
try {
FileOutputStream fos = null;
OutputStream fos = null;
try {
fos = new FileOutputStream(output);
fos = Files.newOutputStream(output.toPath());
out = new PrintWriter(new OutputStreamWriter(fos, "UTF8"));
} catch (final UnsupportedEncodingException ue) {
FileUtils.close(fos);


+ 4
- 3
src/main/org/apache/tools/ant/taskdefs/BUnzip2.java View File

@@ -20,9 +20,10 @@ package org.apache.tools.ant.taskdefs;


import java.io.BufferedInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.util.FileUtils;
@@ -60,12 +61,12 @@ public class BUnzip2 extends Unpack {
log("Expanding " + srcResource.getName() + " to "
+ dest.getAbsolutePath());

FileOutputStream out = null;
OutputStream out = null;
CBZip2InputStream zIn = null;
InputStream fis = null;
BufferedInputStream bis = null;
try {
out = new FileOutputStream(dest);
out = Files.newOutputStream(dest.toPath());
fis = srcResource.getInputStream();
bis = new BufferedInputStream(fis);
int b = bis.read();


+ 3
- 2
src/main/org/apache/tools/ant/taskdefs/BZip2.java View File

@@ -20,8 +20,9 @@ package org.apache.tools.ant.taskdefs;


import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.file.Files;

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.util.FileUtils;
@@ -44,7 +45,7 @@ public class BZip2 extends Pack {
CBZip2OutputStream zOut = null;
try {
BufferedOutputStream bos =
new BufferedOutputStream(new FileOutputStream(zipFile));
new BufferedOutputStream(Files.newOutputStream(zipFile.toPath()));
bos.write('B');
bos.write('Z');
zOut = new CBZip2OutputStream(bos);


+ 7
- 6
src/main/org/apache/tools/ant/taskdefs/BuildNumber.java View File

@@ -18,9 +18,10 @@
package org.apache.tools.ant.taskdefs;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.Properties;

import org.apache.tools.ant.BuildException;
@@ -84,10 +85,10 @@ public class BuildNumber
String.valueOf(buildNumber + 1));

// Write the properties file back out
FileOutputStream output = null;
OutputStream output = null;

try {
output = new FileOutputStream(myFile);
output = Files.newOutputStream(myFile.toPath());

final String header = "Build Number for ANT. Do not edit!";

@@ -144,12 +145,12 @@ public class BuildNumber
*/
private Properties loadProperties()
throws BuildException {
FileInputStream input = null;
InputStream input = null;

try {
final Properties properties = new Properties();

input = new FileInputStream(myFile);
input = Files.newInputStream(myFile.toPath());
properties.load(input);
return properties;
} catch (final IOException ioe) {


+ 7
- 6
src/main/org/apache/tools/ant/taskdefs/Checksum.java View File

@@ -19,10 +19,11 @@ package org.apache.tools.ant.taskdefs;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.security.DigestInputStream;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
@@ -471,8 +472,8 @@ public class Checksum extends MatchingTask implements Condition {
*/
private boolean generateChecksums() throws BuildException {
boolean checksumMatches = true;
FileInputStream fis = null;
FileOutputStream fos = null;
InputStream fis = null;
OutputStream fos = null;
byte[] buf = new byte[readBufferSize];
try {
for (Map.Entry<File, Object> e : includeFileMap.entrySet()) {
@@ -481,7 +482,7 @@ public class Checksum extends MatchingTask implements Condition {
if (!isCondition) {
log("Calculating " + algorithm + " checksum for " + src, Project.MSG_VERBOSE);
}
fis = new FileInputStream(src);
fis = Files.newInputStream(src.toPath());
DigestInputStream dis = new DigestInputStream(fis,
messageDigest);
while (dis.read(buf, 0, readBufferSize) != -1) {
@@ -523,7 +524,7 @@ public class Checksum extends MatchingTask implements Condition {
}
} else {
File dest = (File) destination;
fos = new FileOutputStream(dest);
fos = Files.newOutputStream(dest.toPath());
fos.write(format.format(new Object[] {
checksum,
src.getName(),


+ 2
- 2
src/main/org/apache/tools/ant/taskdefs/Concat.java View File

@@ -19,7 +19,6 @@ package org.apache.tools.ant.taskdefs;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
@@ -27,6 +26,7 @@ import java.io.InputStreamReader;
import java.io.Reader;
import java.io.StringReader;
import java.io.Writer;
import java.nio.file.Files;
import java.util.Arrays;
import java.util.Collections;
import java.util.Iterator;
@@ -139,7 +139,7 @@ public class Concat extends Task implements ResourceCollection {
reader = new BufferedReader(new FileReader(file));
} else {
reader = new BufferedReader(
new InputStreamReader(new FileInputStream(file),
new InputStreamReader(Files.newInputStream(file.toPath()),
this.encoding));
}
value = FileUtils.safeReadFully(reader);


+ 1
- 2
src/main/org/apache/tools/ant/taskdefs/EchoXML.java View File

@@ -18,7 +18,6 @@
package org.apache.tools.ant.taskdefs;

import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;

import org.apache.tools.ant.BuildException;
@@ -83,7 +82,7 @@ public class EchoXML extends XMLFragment {
OutputStream os = null;
try {
if (file != null) {
os = new FileOutputStream(file.getAbsolutePath(), append);
os = FileUtils.newOutputStream(file.toPath(), append);
} else {
os = new LogOutputStream(this, Project.MSG_INFO);
}


+ 4
- 3
src/main/org/apache/tools/ant/taskdefs/Expand.java View File

@@ -20,9 +20,10 @@ package org.apache.tools.ant.taskdefs;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.Date;
import java.util.Enumeration;
import java.util.HashSet;
@@ -350,9 +351,9 @@ public class Expand extends Task {
} else {
byte[] buffer = new byte[BUFFER_SIZE];
int length = 0;
FileOutputStream fos = null;
OutputStream fos = null;
try {
fos = new FileOutputStream(f);
fos = Files.newOutputStream(f.toPath());

while ((length =
compressedInputStream.read(buffer)) >= 0) {


+ 2
- 2
src/main/org/apache/tools/ant/taskdefs/FixCRLF.java View File

@@ -20,11 +20,11 @@ package org.apache.tools.ant.taskdefs;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.nio.file.Files;
import java.util.Enumeration;
import java.util.NoSuchElementException;
import java.util.Vector;
@@ -421,7 +421,7 @@ public class FixCRLF extends MatchingTask implements ChainableReader {
reader = new BufferedReader(
((encoding == null) ? new FileReader(srcFile)
: new InputStreamReader(
new FileInputStream(srcFile), encoding)), INBUFLEN);
Files.newInputStream(srcFile.toPath()), encoding)), INBUFLEN);

nextLine();
} catch (IOException e) {


+ 4
- 3
src/main/org/apache/tools/ant/taskdefs/GUnzip.java View File

@@ -18,9 +18,10 @@

package org.apache.tools.ant.taskdefs;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.zip.GZIPInputStream;

import org.apache.tools.ant.BuildException;
@@ -56,11 +57,11 @@ public class GUnzip extends Unpack {
log("Expanding " + srcResource.getName() + " to "
+ dest.getAbsolutePath());

FileOutputStream out = null;
OutputStream out = null;
GZIPInputStream zIn = null;
InputStream fis = null;
try {
out = new FileOutputStream(dest);
out = Files.newOutputStream(dest.toPath());
fis = srcResource.getInputStream();
zIn = new GZIPInputStream(fis);
byte[] buffer = new byte[BUFFER_SIZE];


+ 3
- 2
src/main/org/apache/tools/ant/taskdefs/GZip.java View File

@@ -18,8 +18,9 @@

package org.apache.tools.ant.taskdefs;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.zip.GZIPOutputStream;

import org.apache.tools.ant.BuildException;
@@ -41,7 +42,7 @@ public class GZip extends Pack {
protected void pack() {
GZIPOutputStream zOut = null;
try {
zOut = new GZIPOutputStream(new FileOutputStream(zipFile));
zOut = new GZIPOutputStream(Files.newOutputStream(zipFile.toPath()));
zipResource(getSrcResource(), zOut);
} catch (IOException ioe) {
String msg = "Problem creating gzip " + ioe.getMessage();


+ 2
- 2
src/main/org/apache/tools/ant/taskdefs/Get.java View File

@@ -20,7 +20,6 @@ package org.apache.tools.ant.taskdefs;

import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
@@ -28,6 +27,7 @@ import java.io.PrintStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLConnection;
import java.nio.file.Files;
import java.util.Date;
import java.util.zip.GZIPInputStream;

@@ -852,7 +852,7 @@ public class Get extends Task {
is = new GZIPInputStream(is);
}

os = new FileOutputStream(dest);
os = Files.newOutputStream(dest.toPath());
progress.beginDownload();
boolean finished = false;
try {


+ 3
- 3
src/main/org/apache/tools/ant/taskdefs/Jar.java View File

@@ -21,7 +21,6 @@ package org.apache.tools.ant.taskdefs;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
@@ -29,6 +28,7 @@ import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.Reader;
import java.io.UnsupportedEncodingException;
import java.nio.file.Files;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
@@ -303,10 +303,10 @@ public class Jar extends Zip {
private Manifest getManifest(File manifestFile) {

Manifest newManifest = null;
FileInputStream fis = null;
InputStream fis = null;
InputStreamReader isr = null;
try {
fis = new FileInputStream(manifestFile);
fis = Files.newInputStream(manifestFile.toPath());
if (manifestEncoding == null) {
isr = new InputStreamReader(fis);
} else {


+ 2
- 2
src/main/org/apache/tools/ant/taskdefs/Javac.java View File

@@ -20,9 +20,9 @@ package org.apache.tools.ant.taskdefs;

import java.io.File;
import java.io.FileFilter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.ArrayList;
import java.util.Collection;
import java.util.HashMap;
@@ -1471,7 +1471,7 @@ public class Javac extends MatchingTask {
continue;
}
log("Creating empty " + pkgInfoClass);
try (OutputStream os = new FileOutputStream(pkgInfoClass)) {
try (OutputStream os = Files.newOutputStream(pkgInfoClass.toPath())) {
os.write(PACKAGE_INFO_CLASS_HEADER);
final byte[] name = pkg.getBytes("UTF-8");
final int length = name.length + /* "/package-info" */ 13;


+ 4
- 4
src/main/org/apache/tools/ant/taskdefs/Javadoc.java View File

@@ -20,18 +20,18 @@ package org.apache.tools.ant.taskdefs;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.FilenameFilter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.MalformedURLException;
import java.net.URL;
import java.nio.file.Files;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashSet;
@@ -2516,7 +2516,7 @@ public class Javadoc extends Task {
: FILE_UTILS.getDefaultEncoding();
// we load the whole file as one String (toc/index files are
// generally small, because they only contain frameset declaration):
final InputStream fin = new FileInputStream(file);
final InputStream fin = Files.newInputStream(file.toPath());
String fileContents;
try {
fileContents =
@@ -2532,7 +2532,7 @@ public class Javadoc extends Task {
// we need to patch the file!
final String patchedFileContents = patchContent(fileContents, fixData);
if (!patchedFileContents.equals(fileContents)) {
final FileOutputStream fos = new FileOutputStream(file);
final OutputStream fos = Files.newOutputStream(file.toPath());
try {
final OutputStreamWriter w = new OutputStreamWriter(fos, enc);
w.write(patchedFileContents);


+ 6
- 5
src/main/org/apache/tools/ant/taskdefs/ManifestTask.java View File

@@ -19,12 +19,13 @@
package org.apache.tools.ant.taskdefs;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.nio.file.Files;
import java.util.Enumeration;

import org.apache.tools.ant.BuildException;
@@ -227,10 +228,10 @@ public class ManifestTask extends Task {
BuildException error = null;

if (manifestFile.exists()) {
FileInputStream fis = null;
InputStream fis = null;
InputStreamReader isr = null;
try {
fis = new FileInputStream(manifestFile);
fis = Files.newInputStream(manifestFile.toPath());
if (encoding == null) {
isr = new InputStreamReader(fis, "UTF-8");
} else {
@@ -276,7 +277,7 @@ public class ManifestTask extends Task {

PrintWriter w = null;
try {
FileOutputStream fos = new FileOutputStream(manifestFile);
OutputStream fos = Files.newOutputStream(manifestFile.toPath());
OutputStreamWriter osw = new OutputStreamWriter(fos, Manifest.JAR_ENCODING);
w = new PrintWriter(osw);
toWrite.write(w, flattenClassPaths);


+ 3
- 3
src/main/org/apache/tools/ant/taskdefs/Property.java View File

@@ -18,10 +18,10 @@
package org.apache.tools.ant.taskdefs;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.nio.file.Files;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
@@ -575,9 +575,9 @@ public class Property extends Task {
log("Loading " + file.getAbsolutePath(), Project.MSG_VERBOSE);
try {
if (file.exists()) {
FileInputStream fis = null;
InputStream fis = null;
try {
fis = new FileInputStream(file);
fis = Files.newInputStream(file.toPath());
loadProperties(props, fis, file.getName().endsWith(".xml"));
} finally {
FileUtils.close(fis);


+ 3
- 2
src/main/org/apache/tools/ant/taskdefs/RecorderEntry.java View File

@@ -17,9 +17,9 @@
*/
package org.apache.tools.ant.taskdefs;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.nio.file.Paths;

import org.apache.tools.ant.BuildEvent;
import org.apache.tools.ant.BuildException;
@@ -27,6 +27,7 @@ import org.apache.tools.ant.BuildLogger;
import org.apache.tools.ant.DefaultLogger;
import org.apache.tools.ant.Project;
import org.apache.tools.ant.SubBuildListener;
import org.apache.tools.ant.util.FileUtils;
import org.apache.tools.ant.util.StringUtils;

/**
@@ -356,7 +357,7 @@ public class RecorderEntry implements BuildLogger, SubBuildListener {
private void openFileImpl(boolean append) throws BuildException {
if (out == null) {
try {
out = new PrintStream(new FileOutputStream(filename, append));
out = new PrintStream(FileUtils.newOutputStream(Paths.get(filename), append));
} catch (IOException ioe) {
throw new BuildException("Problems opening file using a "
+ "recorder entry", ioe);


+ 3
- 4
src/main/org/apache/tools/ant/taskdefs/Replace.java View File

@@ -21,8 +21,6 @@ package org.apache.tools.ant.taskdefs;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
@@ -30,6 +28,7 @@ import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.Writer;
import java.nio.file.Files;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
@@ -369,7 +368,7 @@ public class Replace extends MatchingTask {
FileInput(File source) throws IOException {
outputBuffer = new StringBuffer();
buffer = new char[BUFF_SIZE];
is = new FileInputStream(source);
is = Files.newInputStream(source.toPath());
try {
reader = new BufferedReader(encoding != null ? new InputStreamReader(is, encoding) : new InputStreamReader(is));
} finally {
@@ -429,7 +428,7 @@ public class Replace extends MatchingTask {
* @throws IOException When the file cannot be read from.
*/
FileOutput(File out) throws IOException {
os = new FileOutputStream(out);
os = Files.newOutputStream(out.toPath());
try {
writer = new BufferedWriter(encoding != null ? new OutputStreamWriter(os, encoding) : new OutputStreamWriter(os));
} finally {


+ 1
- 2
src/main/org/apache/tools/ant/taskdefs/SQLExec.java View File

@@ -20,7 +20,6 @@ package org.apache.tools.ant.taskdefs;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
@@ -651,7 +650,7 @@ public class SQLExec extends JDBCTask {
FileProvider fp =
output.as(FileProvider.class);
if (fp != null) {
os = new FileOutputStream(fp.getFile(), append);
os = FileUtils.newOutputStream(fp.getFile().toPath(), append);
} else {
if (append) {
Appendable a =


+ 2
- 2
src/main/org/apache/tools/ant/taskdefs/Tar.java View File

@@ -20,12 +20,12 @@ package org.apache.tools.ant.taskdefs;

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.nio.file.Files;
import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
@@ -327,7 +327,7 @@ public class Tar extends MatchingTask {
tOut = new TarOutputStream(
compression.compress(
new BufferedOutputStream(
new FileOutputStream(tarFile))),
Files.newOutputStream(tarFile.toPath()))),
encoding);
tOut.setDebug(true);
if (longFileMode.isTruncateMode()) {


+ 3
- 3
src/main/org/apache/tools/ant/taskdefs/Untar.java View File

@@ -20,11 +20,11 @@ package org.apache.tools.ant.taskdefs;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
import java.nio.file.Files;
import java.util.zip.GZIPInputStream;

import org.apache.tools.ant.BuildException;
@@ -97,7 +97,7 @@ public class Untar extends Expand {
*/
/** {@inheritDoc} */
protected void expandFile(FileUtils fileUtils, File srcF, File dir) {
FileInputStream fis = null;
InputStream fis = null;
if (!srcF.exists()) {
throw new BuildException("Unable to untar "
+ srcF
@@ -105,7 +105,7 @@ public class Untar extends Expand {
getLocation());
}
try {
fis = new FileInputStream(srcF);
fis = Files.newInputStream(srcF.toPath());
expandStream(srcF.getPath(), fis, dir);
} catch (IOException ioe) {
throw new BuildException("Error while expanding " + srcF.getPath()


+ 3
- 4
src/main/org/apache/tools/ant/taskdefs/Zip.java View File

@@ -20,11 +20,10 @@ package org.apache.tools.ant.taskdefs;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
@@ -1177,7 +1176,7 @@ public class Zip extends MatchingTask {
}
OutputStream os = null;
try {
os = new FileOutputStream(zipFile);
os = Files.newOutputStream(zipFile.toPath());
// CheckStyle:MagicNumber OFF
// Cf. PKZIP specification.
final byte[] empty = new byte[22];
@@ -1915,7 +1914,7 @@ public class Zip extends MatchingTask {
getLocation());
}

try (FileInputStream fIn = new FileInputStream(file)) {
try (InputStream fIn = Files.newInputStream(file.toPath())) {
// ZIPs store time with a granularity of 2 seconds, round up
zipFile(fIn, zOut, vPath,
file.lastModified() + (roundUp ? ROUNDUP_MILLIS : 0),


+ 5
- 5
src/main/org/apache/tools/ant/taskdefs/cvslib/ChangeLogTask.java View File

@@ -18,12 +18,12 @@
package org.apache.tools.ant.taskdefs.cvslib;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.nio.file.Files;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Enumeration;
@@ -386,7 +386,7 @@ public class ChangeLogTask extends AbstractCvsTask {
throws BuildException {
if (null != usersFile) {
try {
userList.load(new FileInputStream(usersFile));
userList.load(Files.newInputStream(usersFile.toPath()));
} catch (final IOException ioe) {
throw new BuildException(ioe.toString(), ioe);
}
@@ -462,10 +462,10 @@ public class ChangeLogTask extends AbstractCvsTask {
*/
private void writeChangeLog(final CVSEntry[] entrySet)
throws BuildException {
FileOutputStream output = null;
OutputStream output = null;

try {
output = new FileOutputStream(destFile);
output = Files.newOutputStream(destFile.toPath());

final PrintWriter writer =
new PrintWriter(new OutputStreamWriter(output, "UTF-8"));


+ 4
- 3
src/main/org/apache/tools/ant/taskdefs/cvslib/CvsTagDiff.java View File

@@ -19,12 +19,13 @@ package org.apache.tools.ant.taskdefs.cvslib;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.UnsupportedEncodingException;
import java.nio.file.Files;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -417,9 +418,9 @@ public class CvsTagDiff extends AbstractCvsTask {
* @exception BuildException if an error occurs
*/
private void writeTagDiff(CvsTagEntry[] entries) throws BuildException {
FileOutputStream output = null;
OutputStream output = null;
try {
output = new FileOutputStream(mydestfile);
output = Files.newOutputStream(mydestfile.toPath());
PrintWriter writer = new PrintWriter(
new OutputStreamWriter(output, "UTF-8"));
writer.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");


+ 3
- 2
src/main/org/apache/tools/ant/taskdefs/email/Message.java View File

@@ -20,13 +20,14 @@ package org.apache.tools.ant.taskdefs.email;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintStream;
import java.io.Reader;
import java.nio.file.Files;

import org.apache.tools.ant.ProjectComponent;

@@ -185,7 +186,7 @@ public class Message extends ProjectComponent {

private Reader getReader(File f) throws IOException {
if (inputEncoding != null) {
FileInputStream fis = new FileInputStream(f);
InputStream fis = Files.newInputStream(f.toPath());
try {
return new InputStreamReader(fis, inputEncoding);
} catch (IOException ex) {


+ 3
- 2
src/main/org/apache/tools/ant/taskdefs/email/PlainMailer.java View File

@@ -19,9 +19,10 @@ package org.apache.tools.ant.taskdefs.email;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
import java.nio.file.Files;
import java.util.Enumeration;

import org.apache.tools.ant.BuildException;
@@ -148,7 +149,7 @@ class PlainMailer extends Mailer {
final int maxBuf = 1024;
byte[] buf = new byte[maxBuf];

try (FileInputStream finstr = new FileInputStream(file);
try (InputStream finstr = Files.newInputStream(file.toPath());
BufferedInputStream in = new BufferedInputStream(finstr, buf.length)) {

while ((length = in.read(buf)) != -1) {


+ 3
- 2
src/main/org/apache/tools/ant/taskdefs/email/UUMailer.java View File

@@ -19,9 +19,10 @@ package org.apache.tools.ant.taskdefs.email;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintStream;
import java.nio.file.Files;

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.util.UUEncoder;
@@ -40,7 +41,7 @@ class UUMailer extends PlainMailer {
+ "readable.");
}

try (FileInputStream finstr = new FileInputStream(file);
try (InputStream finstr = Files.newInputStream(file.toPath());
BufferedInputStream in = new BufferedInputStream(finstr)) {
UUEncoder encoder = new UUEncoder(file.getName());



+ 5
- 5
src/main/org/apache/tools/ant/taskdefs/optional/EchoProperties.java View File

@@ -19,13 +19,13 @@ package org.apache.tools.ant.taskdefs.optional;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.nio.file.Files;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
@@ -290,9 +290,9 @@ public class EchoProperties extends Task {
return;
}

FileInputStream in = null;
InputStream in = null;
try {
in = new FileInputStream(inFile);
in = Files.newInputStream(inFile.toPath());
Properties props = new Properties();
props.load(in);
allProps.putAll(props);
@@ -352,7 +352,7 @@ public class EchoProperties extends Task {
}
return;
}
os = new FileOutputStream(this.destfile);
os = Files.newOutputStream(this.destfile.toPath());
saveProperties(allProps, os);
}
} catch (IOException ioe) {


+ 6
- 6
src/main/org/apache/tools/ant/taskdefs/optional/PropertyFile.java View File

@@ -21,10 +21,10 @@ package org.apache.tools.ant.taskdefs.optional;
import java.io.BufferedInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.text.DateFormat;
import java.text.DecimalFormat;
import java.text.ParseException;
@@ -192,15 +192,15 @@ public class PropertyFile extends Task {
if (propertyfile.exists()) {
log("Updating property file: "
+ propertyfile.getAbsolutePath());
try (FileInputStream fis = new FileInputStream(propertyfile);
try (InputStream fis = Files.newInputStream(propertyfile.toPath());
BufferedInputStream bis = new BufferedInputStream(fis)) {
properties.load(bis);
}
} else {
log("Creating new property file: "
+ propertyfile.getAbsolutePath());
try (FileOutputStream out =
new FileOutputStream(propertyfile.getAbsolutePath())) {
try (OutputStream out =
Files.newOutputStream(propertyfile.toPath())) {
out.flush();
}
}
@@ -249,7 +249,7 @@ public class PropertyFile extends Task {
throw new BuildException(x, getLocation());
}
try {
OutputStream os = new FileOutputStream(propertyfile); //NOSONAR
OutputStream os = Files.newOutputStream(propertyfile.toPath()); //NOSONAR
try {
try {
os.write(baos.toByteArray());


+ 3
- 4
src/main/org/apache/tools/ant/taskdefs/optional/ReplaceRegExp.java View File

@@ -20,8 +20,6 @@ package org.apache.tools.ant.taskdefs.optional;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
@@ -29,6 +27,7 @@ import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.io.Writer;
import java.nio.file.Files;

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
@@ -356,8 +355,8 @@ public class ReplaceRegExp extends Task {
try {
boolean changes = false;

try (InputStream is = new FileInputStream(f);
OutputStream os = new FileOutputStream(temp)) {
try (InputStream is = Files.newInputStream(f.toPath());
OutputStream os = Files.newOutputStream(temp.toPath())) {
Reader r = null;
Writer w = null;
try {


+ 5
- 5
src/main/org/apache/tools/ant/taskdefs/optional/Rpm.java View File

@@ -19,10 +19,10 @@ package org.apache.tools.ant.taskdefs.optional;

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintStream;
import java.nio.file.Files;
import java.util.Map;

import org.apache.tools.ant.BuildException;
@@ -149,9 +149,9 @@ public class Rpm extends Task {
}
} else {
if (output != null) {
FileOutputStream fos = null;
OutputStream fos = null;
try {
fos = new FileOutputStream(output); //NOSONAR
fos = Files.newOutputStream(output.toPath()); //NOSONAR
BufferedOutputStream bos = new BufferedOutputStream(fos);
outputstream = new PrintStream(bos);
} catch (IOException e) {
@@ -164,9 +164,9 @@ public class Rpm extends Task {
outputstream = new LogOutputStream(this, Project.MSG_DEBUG);
}
if (error != null) {
FileOutputStream fos = null;
OutputStream fos = null;
try {
fos = new FileOutputStream(error);
fos = Files.newOutputStream(error.toPath());
BufferedOutputStream bos = new BufferedOutputStream(fos);
errorstream = new PrintStream(bos);
} catch (IOException e) {


+ 3
- 4
src/main/org/apache/tools/ant/taskdefs/optional/TraXLiaison.java View File

@@ -21,13 +21,12 @@ package org.apache.tools.ant.taskdefs.optional;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.lang.reflect.Field;
import java.net.URL;
import java.nio.file.Files;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.HashMap;
@@ -191,8 +190,8 @@ public class TraXLiaison implements XSLTLiaison4, ErrorListener, XSLTLoggerAware
InputStream fis = null;
OutputStream fos = null;
try {
fis = new BufferedInputStream(new FileInputStream(infile));
fos = new BufferedOutputStream(new FileOutputStream(outfile));
fis = new BufferedInputStream(Files.newInputStream(infile.toPath()));
fos = new BufferedOutputStream(Files.newOutputStream(outfile.toPath()));
final StreamResult res = new StreamResult(fos);
// not sure what could be the need of this...
res.setSystemId(JAXPUtils.getSystemId(outfile));


+ 2
- 2
src/main/org/apache/tools/ant/taskdefs/optional/XMLValidateTask.java View File

@@ -18,8 +18,8 @@
package org.apache.tools.ant.taskdefs.optional;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.nio.file.Files;
import java.util.Vector;

import org.apache.tools.ant.AntClassLoader;
@@ -550,7 +550,7 @@ public class XMLValidateTask extends Task {
try {
log("Validating " + afile.getName() + "... ", Project.MSG_VERBOSE);
errorHandler.init(afile);
InputSource is = new InputSource(new FileInputStream(afile));
InputSource is = new InputSource(Files.newInputStream(afile.toPath()));
String uri = FILE_UTILS.toURI(afile.getAbsolutePath());
is.setSystemId(uri);
xmlReader.parse(is);


+ 3
- 2
src/main/org/apache/tools/ant/taskdefs/optional/depend/AntAnalyzer.java View File

@@ -18,9 +18,10 @@
package org.apache.tools.ant.taskdefs.optional.depend;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Vector;
@@ -80,7 +81,7 @@ public class AntAnalyzer extends AbstractAnalyzer {
InputStream inStream = null;
try {
if (container.getName().endsWith(".class")) {
inStream = new FileInputStream(container.getPath());
inStream = Files.newInputStream(Paths.get(container.getPath()));
} else {
zipFile = new ZipFile(container.getPath());
String entryName


+ 4
- 3
src/main/org/apache/tools/ant/taskdefs/optional/depend/DirectoryIterator.java View File

@@ -18,8 +18,9 @@
package org.apache.tools.ant.taskdefs.optional.depend;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.util.Enumeration;
import java.util.Stack;
import java.util.Vector;
@@ -130,8 +131,8 @@ public class DirectoryIterator implements ClassFileIterator {
} else {

// we have a file. create a stream for it
try (FileInputStream inFileStream
= new FileInputStream(element)) {
try (InputStream inFileStream
= Files.newInputStream(element.toPath())) {
if (element.getName().endsWith(".class")) {

// create a data input stream from the jar


+ 3
- 4
src/main/org/apache/tools/ant/taskdefs/optional/ejb/DescriptorHandler.java View File

@@ -19,11 +19,10 @@
package org.apache.tools.ant.taskdefs.optional.ejb;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.nio.file.Files;
import java.util.Hashtable;

import org.apache.tools.ant.Project;
@@ -192,8 +191,8 @@ public class DescriptorHandler extends org.xml.sax.HandlerBase {
try {
owningTask.log("Resolved " + publicId + " to local file "
+ dtdFile, Project.MSG_VERBOSE);
return new InputSource(new FileInputStream(dtdFile));
} catch (FileNotFoundException ex) {
return new InputSource(Files.newInputStream(dtdFile.toPath()));
} catch (IOException ex) {
// ignore
}
}


+ 7
- 8
src/main/org/apache/tools/ant/taskdefs/optional/ejb/GenericDeploymentTool.java View File

@@ -18,10 +18,9 @@
package org.apache.tools.ant.taskdefs.optional.ejb;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.util.Enumeration;
import java.util.HashSet;
import java.util.Hashtable;
@@ -327,10 +326,10 @@ public class GenericDeploymentTool implements EJBDeploymentTool {
File inputFile,
String logicalFilename)
throws BuildException {
FileInputStream iStream = null;
InputStream iStream = null;
try {
if (!addedfiles.contains(logicalFilename)) {
iStream = new FileInputStream(inputFile);
iStream = Files.newInputStream(inputFile.toPath());
// Create the zip entry and add it to the jar file
ZipEntry zipEntry = new ZipEntry(logicalFilename.replace('\\', '/'));
jStream.putNextEntry(zipEntry);
@@ -514,7 +513,7 @@ public class GenericDeploymentTool implements EJBDeploymentTool {
*/
protected Hashtable parseEjbFiles(String descriptorFileName, SAXParser saxParser)
throws IOException, SAXException {
FileInputStream descriptorStream = null;
InputStream descriptorStream = null;
Hashtable ejbFiles = null;

try {
@@ -524,7 +523,7 @@ public class GenericDeploymentTool implements EJBDeploymentTool {
* get hold of all the classfile names for the descriptor.
*/
descriptorStream
= new FileInputStream(new File(config.descriptorDir, descriptorFileName));
= Files.newInputStream(new File(config.descriptorDir, descriptorFileName).toPath());
saxParser.parse(new InputSource(descriptorStream), handler);

ejbFiles = handler.getFiles();
@@ -776,7 +775,7 @@ public class GenericDeploymentTool implements EJBDeploymentTool {
try {
File manifestFile = (File) files.get(MANIFEST);
if (manifestFile != null && manifestFile.exists()) {
in = new FileInputStream(manifestFile);
in = Files.newInputStream(manifestFile.toPath());
} else {
String defaultManifest = "/org/apache/tools/ant/defaultManifest.mf";
in = this.getClass().getResourceAsStream(defaultManifest);
@@ -797,7 +796,7 @@ public class GenericDeploymentTool implements EJBDeploymentTool {

// Create the streams necessary to write the jarfile

jarStream = new JarOutputStream(new FileOutputStream(jarfile), manifest);
jarStream = new JarOutputStream(Files.newOutputStream(jarfile.toPath()), manifest);
jarStream.setMethod(JarOutputStream.DEFLATED);

// Loop through all the class files found and add them to the jar


+ 3
- 2
src/main/org/apache/tools/ant/taskdefs/optional/ejb/IPlanetEjbc.java View File

@@ -20,10 +20,11 @@ package org.apache.tools.ant.taskdefs.optional.ejb;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
@@ -729,7 +730,7 @@ public class IPlanetEjbc {
location = (String) fileDtds.get(publicId);
if (location != null) {
// closed when the InputSource is closed
inputStream = new FileInputStream(location); //NOSONAR
inputStream = Files.newInputStream(Paths.get(location)); //NOSONAR
}
}
} catch (IOException e) {


+ 4
- 6
src/main/org/apache/tools/ant/taskdefs/optional/ejb/WeblogicDeploymentTool.java View File

@@ -18,10 +18,9 @@
package org.apache.tools.ant.taskdefs.optional.ejb;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Iterator;
@@ -496,9 +495,8 @@ public class WeblogicDeploymentTool extends GenericDeploymentTool {
DescriptorHandler handler
= getWeblogicDescriptorHandler(ejbDescriptor.getParentFile());

saxParser.parse(new InputSource
(new FileInputStream(weblogicDD)),
handler);
saxParser.parse(new InputSource(Files.newInputStream(weblogicDD.toPath())),
handler);

Hashtable ht = handler.getFiles();
Enumeration e = ht.keys();
@@ -810,7 +808,7 @@ public class WeblogicDeploymentTool extends GenericDeploymentTool {
newWLJarFile.delete();
}

newJarStream = new JarOutputStream(new FileOutputStream(newWLJarFile));
newJarStream = new JarOutputStream(Files.newOutputStream(newWLJarFile.toPath()));
newJarStream.setLevel(0);

//Copy files from old weblogic jar


+ 2
- 2
src/main/org/apache/tools/ant/taskdefs/optional/ejb/WebsphereDeploymentTool.java View File

@@ -18,9 +18,9 @@
package org.apache.tools.ant.taskdefs.optional.ejb;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Iterator;
@@ -775,7 +775,7 @@ public class WebsphereDeploymentTool extends GenericDeploymentTool {
newwasJarFile.delete();
}

newJarStream = new JarOutputStream(new FileOutputStream(newwasJarFile));
newJarStream = new JarOutputStream(Files.newOutputStream(newwasJarFile.toPath()));
newJarStream.setLevel(0);

//Copy files from old websphere jar


+ 4
- 3
src/main/org/apache/tools/ant/taskdefs/optional/extension/JarLibManifestTask.java View File

@@ -18,8 +18,9 @@
package org.apache.tools.ant.taskdefs.optional.extension;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.jar.Attributes;
@@ -214,9 +215,9 @@ public final class JarLibManifestTask extends Task {
* @throws IOException if error writing file
*/
private void writeManifest(final Manifest manifest) throws IOException {
FileOutputStream output = null;
OutputStream output = null;
try {
output = new FileOutputStream(destFile);
output = Files.newOutputStream(destFile.toPath());
manifest.write(output);
output.flush();
} finally {


+ 8
- 7
src/main/org/apache/tools/ant/taskdefs/optional/i18n/Translate.java View File

@@ -20,11 +20,12 @@ package org.apache.tools.ant.taskdefs.optional.i18n;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.nio.file.Files;
import java.util.Hashtable;
import java.util.Locale;
import java.util.Vector;
@@ -407,9 +408,9 @@ public class Translate extends MatchingTask {
private void processBundle(final String bundleFile, final int i,
final boolean checkLoaded) throws BuildException {
final File propsFile = getProject().resolveFile(bundleFile + ".properties");
FileInputStream ins = null;
InputStream ins = null;
try {
ins = new FileInputStream(propsFile);
ins = Files.newInputStream(propsFile.toPath());
loaded = true;
bundleLastModified[i] = propsFile.lastModified();
log("Using " + propsFile, Project.MSG_DEBUG);
@@ -429,7 +430,7 @@ public class Translate extends MatchingTask {
* Load resourceMap with key value pairs. Values of existing keys
* are not overwritten. Bundle's encoding scheme is used.
*/
private void loadResourceMap(FileInputStream ins) throws BuildException {
private void loadResourceMap(InputStream ins) throws BuildException {
try {
BufferedReader in = null;
InputStreamReader isr = new InputStreamReader(ins, bundleEncoding);
@@ -551,9 +552,9 @@ public class Translate extends MatchingTask {
BufferedWriter out = null;
BufferedReader in = null;
try {
FileOutputStream fos = new FileOutputStream(dest);
OutputStream fos = Files.newOutputStream(dest.toPath());
out = new BufferedWriter(new OutputStreamWriter(fos, destEncoding));
FileInputStream fis = new FileInputStream(src);
InputStream fis = Files.newInputStream(src.toPath());
in = new BufferedReader(new InputStreamReader(fis, srcEncoding));
String line;
LineTokenizer lineTokenizer = new LineTokenizer();


+ 4
- 3
src/main/org/apache/tools/ant/taskdefs/optional/image/Image.java View File

@@ -18,8 +18,9 @@
package org.apache.tools.ant.taskdefs.optional.image;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.Locale;
import java.util.Vector;

@@ -316,9 +317,9 @@ public class Image extends MatchingTask {
newFile.delete();
}

FileOutputStream stream = null;
OutputStream stream = null;
try {
stream = new FileOutputStream(newFile);
stream = Files.newOutputStream(newFile.toPath());

JAI.create("encode", image, stream,
str_encoding.toUpperCase(Locale.ENGLISH),


+ 6
- 6
src/main/org/apache/tools/ant/taskdefs/optional/jlink/jlink.java View File

@@ -24,10 +24,10 @@ package org.apache.tools.ant.taskdefs.optional.jlink;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Enumeration;
import java.util.Vector;
import java.util.zip.CRC32;
@@ -145,7 +145,7 @@ public class jlink {
* @throws Exception on error.
*/
public void link() throws Exception { //NOSONAR
ZipOutputStream output = new ZipOutputStream(new FileOutputStream(outfile));
ZipOutputStream output = new ZipOutputStream(Files.newOutputStream(Paths.get(outfile)));

if (compression) {
output.setMethod(ZipOutputStream.DEFLATED);
@@ -303,7 +303,7 @@ public class jlink {
// see if the file is in fact a .class file, and determine its actual name.
InputStream input = null;
try {
input = new FileInputStream(file);
input = Files.newInputStream(file.toPath());
String className = ClassNameReader.getClassName(input);

if (className != null) {
@@ -337,7 +337,7 @@ public class jlink {
if (!compress) {
entry.setCrc(calcChecksum(file));
}
FileInputStream input = new FileInputStream(file);
InputStream input = Files.newInputStream(file.toPath());

addToOutputStream(output, input, entry);
}
@@ -422,7 +422,7 @@ public class jlink {
* is not compressed.
*/
private long calcChecksum(File f) throws IOException {
BufferedInputStream in = new BufferedInputStream(new FileInputStream(f));
BufferedInputStream in = new BufferedInputStream(Files.newInputStream(f.toPath()));

return calcChecksum(in);
}


+ 2
- 2
src/main/org/apache/tools/ant/taskdefs/optional/junit/AggregateTransformer.java View File

@@ -18,11 +18,11 @@
package org.apache.tools.ant.taskdefs.optional.junit;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.net.URL;
import java.nio.file.Files;
import java.util.Iterator;
import java.util.List;
import java.util.Vector;
@@ -176,7 +176,7 @@ public class AggregateTransformer {
protected void setXmlfile(File xmlfile) throws BuildException {
try {
DocumentBuilder builder = privateDBFactory.newDocumentBuilder();
try (InputStream in = new FileInputStream(xmlfile)) {
try (InputStream in = Files.newInputStream(xmlfile.toPath())) {
Document doc = builder.parse(in);
setXmlDocument(doc);
}


+ 2
- 2
src/main/org/apache/tools/ant/taskdefs/optional/junit/FormatterElement.java View File

@@ -20,12 +20,12 @@ package org.apache.tools.ant.taskdefs.optional.junit;

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.nio.file.Files;

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
@@ -378,7 +378,7 @@ public class FormatterElement {
public void write(int b) throws IOException {
synchronized (this) {
if (outputStream == null) {
outputStream = new BufferedOutputStream(new FileOutputStream(file));
outputStream = new BufferedOutputStream(Files.newOutputStream(file.toPath()));
}
}
outputStream.write(b);


+ 3
- 3
src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTask.java View File

@@ -21,7 +21,6 @@ package org.apache.tools.ant.taskdefs.optional.junit;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
@@ -29,6 +28,7 @@ import java.io.OutputStream;
import java.io.PrintStream;
import java.lang.reflect.Constructor;
import java.net.URL;
import java.nio.file.Files;
import java.security.AccessController;
import java.security.PrivilegedAction;
import java.util.ArrayList;
@@ -1243,7 +1243,7 @@ public class JUnitTask extends Task {
props.put(key, p.get(key));
}
try {
final FileOutputStream outstream = new FileOutputStream(propsFile);
final OutputStream outstream = Files.newOutputStream(propsFile.toPath());
props.store(outstream, "Ant JUnitTask generated properties file");
outstream.close();
} catch (final java.io.IOException e) {
@@ -1953,7 +1953,7 @@ public class JUnitTask extends Task {
final File outFile = getOutput(fe, test);
if (outFile != null) {
try {
out = new FileOutputStream(outFile);
out = Files.newOutputStream(outFile.toPath());
} catch (final IOException e) {
// ignore
}


+ 5
- 3
src/main/org/apache/tools/ant/taskdefs/optional/junit/JUnitTestRunner.java View File

@@ -22,15 +22,17 @@ import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintStream;
import java.io.StringReader;
import java.io.StringWriter;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.nio.file.Files;
import java.nio.file.Paths;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Properties;
@@ -940,8 +942,8 @@ public class JUnitTestRunner implements TestListener, JUnitTaskMirror.JUnitTestR
System.exit(ERRORS);
}
} else if (args[i].startsWith(Constants.PROPSFILE)) {
final FileInputStream in = new FileInputStream(args[i]
.substring(Constants.PROPSFILE.length()));
final InputStream in = Files.newInputStream(Paths.get(args[i]
.substring(Constants.PROPSFILE.length())));
props.load(in);
in.close();
} else if (args[i].startsWith(Constants.SHOWOUTPUT)) {


+ 2
- 2
src/main/org/apache/tools/ant/taskdefs/optional/junit/XMLResultAggregator.java View File

@@ -19,11 +19,11 @@ package org.apache.tools.ant.taskdefs.optional.junit;

import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.nio.file.Files;
import java.util.Enumeration;
import java.util.Vector;

@@ -213,7 +213,7 @@ public class XMLResultAggregator extends Task implements XMLConstants {
* @throws IOException thrown if there is an error while writing the content.
*/
protected void writeDOMTree(Document doc, File file) throws IOException {
try (OutputStream os = new FileOutputStream(file);
try (OutputStream os = Files.newOutputStream(file.toPath());
PrintWriter wri = new PrintWriter(new OutputStreamWriter(new BufferedOutputStream(os), "UTF8"))) {
wri.write("<?xml version=\"1.0\" encoding=\"UTF-8\" ?>\n");
(new DOMElementWriter()).write(doc.getDocumentElement(), wri, 0, " ");


+ 3
- 4
src/main/org/apache/tools/ant/taskdefs/optional/native2ascii/BuiltinNative2Ascii.java View File

@@ -20,14 +20,13 @@ package org.apache.tools.ant.taskdefs.optional.native2ascii;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.nio.file.Files;

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.taskdefs.optional.Native2Ascii;
@@ -61,7 +60,7 @@ public class BuiltinNative2Ascii implements Native2AsciiAdapter {
boolean reverse) throws IOException {
if (!reverse && encoding != null) {
return new BufferedReader(new InputStreamReader(
new FileInputStream(srcFile), encoding));
Files.newInputStream(srcFile.toPath()), encoding));
}
return new BufferedReader(new FileReader(srcFile));
}
@@ -73,7 +72,7 @@ public class BuiltinNative2Ascii implements Native2AsciiAdapter {
}
if (encoding != null) {
return new BufferedWriter(
new OutputStreamWriter(new FileOutputStream(destFile),
new OutputStreamWriter(Files.newOutputStream(destFile.toPath()),
encoding));
}
return new BufferedWriter(new FileWriter(destFile));


+ 4
- 5
src/main/org/apache/tools/ant/taskdefs/optional/net/FTP.java View File

@@ -21,12 +21,11 @@ import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.text.SimpleDateFormat;
import java.util.Collection;
import java.util.Date;
@@ -1957,7 +1956,7 @@ public class FTP extends Task implements FTPTaskConfig {
// create a local temporary file
FILE_UTILS.createNewFile(tempFile);
long localTimeStamp = tempFile.lastModified();
BufferedInputStream instream = new BufferedInputStream(new FileInputStream(tempFile));
BufferedInputStream instream = new BufferedInputStream(Files.newInputStream(tempFile.toPath()));
ftp.storeFile(tempFile.getName(), instream);
instream.close();
boolean success = FTPReply.isPositiveCompletion(ftp.getReplyCode());
@@ -2148,7 +2147,7 @@ public class FTP extends Task implements FTPTaskConfig {
log("transferring " + file.getAbsolutePath());
}

instream = new BufferedInputStream(new FileInputStream(file));
instream = new BufferedInputStream(Files.newInputStream(file.toPath()));

createParents(ftp, filename);

@@ -2278,7 +2277,7 @@ public class FTP extends Task implements FTPTaskConfig {
if (!pdir.exists()) {
pdir.mkdirs();
}
outstream = new BufferedOutputStream(new FileOutputStream(file));
outstream = new BufferedOutputStream(Files.newOutputStream(file.toPath()));
ftp.retrieveFile(resolveFile(filename), outstream);

if (!FTPReply.isPositiveCompletion(ftp.getReplyCode())) {


+ 4
- 5
src/main/org/apache/tools/ant/taskdefs/optional/net/FTPTaskMirrorImpl.java View File

@@ -21,12 +21,11 @@ import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Enumeration;
@@ -1346,7 +1345,7 @@ public class FTPTaskMirrorImpl implements FTPTaskMirror {
// create a local temporary file
FILE_UTILS.createNewFile(tempFile);
long localTimeStamp = tempFile.lastModified();
BufferedInputStream instream = new BufferedInputStream(new FileInputStream(tempFile));
BufferedInputStream instream = new BufferedInputStream(Files.newInputStream(tempFile.toPath()));
ftp.storeFile(tempFile.getName(), instream);
instream.close();
boolean success = FTPReply.isPositiveCompletion(ftp.getReplyCode());
@@ -1535,7 +1534,7 @@ public class FTPTaskMirrorImpl implements FTPTaskMirror {
task.log("transferring " + file.getAbsolutePath());
}

instream = new BufferedInputStream(new FileInputStream(file));
instream = new BufferedInputStream(Files.newInputStream(file.toPath()));

createParents(ftp, filename);

@@ -1666,7 +1665,7 @@ public class FTPTaskMirrorImpl implements FTPTaskMirror {
if (!pdir.exists()) {
pdir.mkdirs();
}
outstream = new BufferedOutputStream(new FileOutputStream(file));
outstream = new BufferedOutputStream(Files.newOutputStream(file.toPath()));
ftp.retrieveFile(resolveFile(filename), outstream);

if (!FTPReply.isPositiveCompletion(ftp.getReplyCode())) {


+ 3
- 2
src/main/org/apache/tools/ant/taskdefs/optional/pvcs/Pvcs.java View File

@@ -21,10 +21,11 @@ import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.nio.file.Files;
import java.text.MessageFormat;
import java.text.ParseException;
import java.util.Enumeration;
@@ -198,7 +199,7 @@ public class Pvcs extends org.apache.tools.ant.Task {
try {
Random rand = new Random(System.currentTimeMillis());
tmp = new File("pvcs_ant_" + rand.nextLong() + ".log");
FileOutputStream fos = new FileOutputStream(tmp);
OutputStream fos = Files.newOutputStream(tmp.toPath());
tmp2 = new File("pvcs_ant_" + rand.nextLong() + ".log");
log(commandLine.describeCommand(), Project.MSG_VERBOSE);
try {


+ 2
- 2
src/main/org/apache/tools/ant/taskdefs/optional/ssh/SSHExec.java View File

@@ -22,13 +22,13 @@ import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.StringReader;
import java.nio.file.Files;

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
@@ -360,7 +360,7 @@ public class SSHExec extends SSHBase {
InputStream istream = null;
if (inputFile != null) {
try {
istream = new FileInputStream(inputFile);
istream = Files.newInputStream(inputFile.toPath());
} catch (final IOException e) {
// because we checked the existence before, this one
// shouldn't happen What if the file exists, but there


+ 2
- 2
src/main/org/apache/tools/ant/taskdefs/optional/ssh/ScpFromMessage.java View File

@@ -21,10 +21,10 @@ package org.apache.tools.ant.taskdefs.optional.ssh;
import java.io.ByteArrayOutputStream;
import java.io.EOFException;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;

import org.apache.tools.ant.util.FileUtils;

@@ -262,7 +262,7 @@ public class ScpFromMessage extends AbstractSshMessage {
sendAck(out);

// read a content of lfile
final FileOutputStream fos = new FileOutputStream(localFile);
final OutputStream fos = Files.newOutputStream(localFile.toPath());
int length;
long totalLength = 0;
final long startTime = System.currentTimeMillis();


+ 2
- 2
src/main/org/apache/tools/ant/taskdefs/optional/ssh/ScpToMessage.java View File

@@ -19,10 +19,10 @@
package org.apache.tools.ant.taskdefs.optional.ssh;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.Iterator;
import java.util.List;

@@ -363,7 +363,7 @@ public class ScpToMessage extends AbstractSshMessage {
waitForAck(in);

// send a content of lfile
final FileInputStream fis = new FileInputStream(localFile);
final InputStream fis = Files.newInputStream(localFile.toPath());
final byte[] buf = new byte[BUFFER_SIZE];
final long startTime = System.currentTimeMillis();
long totalLength = 0;


+ 4
- 4
src/main/org/apache/tools/ant/taskdefs/optional/unix/Symlink.java View File

@@ -32,12 +32,12 @@ package org.apache.tools.ant.taskdefs.optional.unix;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.io.PrintStream;
import java.nio.file.Files;
import java.util.HashSet;
import java.util.Hashtable;
import java.util.Iterator;
@@ -437,7 +437,7 @@ public class Symlink extends DispatchTask {
BufferedOutputStream bos = null;
try {
bos = new BufferedOutputStream(
new FileOutputStream(new File(dir, linkFileName)));
Files.newOutputStream(new File(dir, linkFileName).toPath()));
properties.store(bos, "Symlinks from " + dir);
} catch (IOException ioe) {
throw new BuildException(ioe, getLocation());
@@ -567,7 +567,7 @@ public class Symlink extends DispatchTask {
Properties lnks = new Properties();
InputStream is = null;
try {
is = new BufferedInputStream(new FileInputStream(inc));
is = new BufferedInputStream(Files.newInputStream(inc.toPath()));
lnks.load(is);
pf = pf.getCanonicalFile();
} catch (FileNotFoundException fnfe) {


+ 4
- 3
src/main/org/apache/tools/ant/taskdefs/optional/xz/Unxz.java View File

@@ -18,9 +18,10 @@

package org.apache.tools.ant.taskdefs.optional.xz;

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.taskdefs.Unpack;
@@ -57,11 +58,11 @@ public class Unxz extends Unpack {
log("Expanding " + srcResource.getName() + " to "
+ dest.getAbsolutePath());

FileOutputStream out = null;
OutputStream out = null;
XZInputStream zIn = null;
InputStream fis = null;
try {
out = new FileOutputStream(dest);
out = Files.newOutputStream(dest.toPath());
fis = srcResource.getInputStream();
zIn = new XZInputStream(fis);
byte[] buffer = new byte[BUFFER_SIZE];


+ 2
- 2
src/main/org/apache/tools/ant/taskdefs/optional/xz/Xz.java View File

@@ -19,8 +19,8 @@
package org.apache.tools.ant.taskdefs.optional.xz;

import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.nio.file.Files;

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.util.FileUtils;
@@ -44,7 +44,7 @@ public class Xz extends Pack {
protected void pack() {
XZOutputStream zOut = null;
try {
zOut = new XZOutputStream(new FileOutputStream(zipFile),
zOut = new XZOutputStream(Files.newOutputStream(zipFile.toPath()),
new LZMA2Options());
zipResource(getSrcResource(), zOut);
} catch (IOException ioe) {


+ 4
- 3
src/main/org/apache/tools/ant/types/FilterSet.java View File

@@ -18,7 +18,8 @@
package org.apache.tools.ant.types;

import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.nio.file.Files;
import java.util.Enumeration;
import java.util.Hashtable;
import java.util.Map;
@@ -367,10 +368,10 @@ public class FilterSet extends DataType implements Cloneable {
}
if (filtersFile.isFile()) {
log("Reading filters from " + filtersFile, Project.MSG_VERBOSE);
FileInputStream in = null;
InputStream in = null;
try {
Properties props = new Properties();
in = new FileInputStream(filtersFile);
in = Files.newInputStream(filtersFile.toPath());
props.load(in);

Enumeration<?> e = props.propertyNames();


+ 2
- 2
src/main/org/apache/tools/ant/types/XMLCatalog.java View File

@@ -19,13 +19,13 @@
package org.apache.tools.ant.types;

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Method;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.nio.file.Files;
import java.util.Stack;
import java.util.Vector;

@@ -677,7 +677,7 @@ public class XMLCatalog extends DataType
File resFile = new File(fileName);
if (resFile.exists() && resFile.canRead()) {
try {
source = new InputSource(new FileInputStream(resFile));
source = new InputSource(Files.newInputStream(resFile.toPath()));
String sysid = JAXPUtils.getSystemId(resFile);
source.setSystemId(sysid);
log("catalog entry matched a readable file: '"


+ 3
- 4
src/main/org/apache/tools/ant/types/resources/FileResource.java View File

@@ -18,11 +18,10 @@
package org.apache.tools.ant.types.resources;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;

import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Project;
@@ -216,7 +215,7 @@ public class FileResource extends Resource implements Touchable, FileProvider,
public InputStream getInputStream() throws IOException {
return isReference()
? ((Resource) getCheckedRef()).getInputStream()
: new FileInputStream(getNotNullFile());
: Files.newInputStream(getNotNullFile().toPath());
}

/**
@@ -256,7 +255,7 @@ public class FileResource extends Resource implements Touchable, FileProvider,
p.mkdirs();
}
}
return append ? new FileOutputStream(f.getAbsolutePath(), true) : new FileOutputStream(f);
return FileUtils.newOutputStream(f.toPath(), append);
}

/**


+ 3
- 2
src/main/org/apache/tools/ant/types/selectors/modifiedselector/ChecksumAlgorithm.java View File

@@ -20,7 +20,8 @@ package org.apache.tools.ant.types.selectors.modifiedselector;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.nio.file.Files;
import java.security.NoSuchAlgorithmException;
import java.util.Locale;
import java.util.zip.Adler32;
@@ -121,7 +122,7 @@ public class ChecksumAlgorithm implements Algorithm {
try {
if (file.canRead()) {
checksum.reset();
FileInputStream fis = new FileInputStream(file);
InputStream fis = Files.newInputStream(file.toPath());
CheckedInputStream check = new CheckedInputStream(fis, checksum);
BufferedInputStream in = new BufferedInputStream(check);
while (in.read() != -1) {


+ 4
- 3
src/main/org/apache/tools/ant/types/selectors/modifiedselector/DigestAlgorithm.java View File

@@ -20,7 +20,8 @@ package org.apache.tools.ant.types.selectors.modifiedselector;


import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.nio.file.Files;
import java.security.DigestInputStream;
import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
@@ -158,12 +159,12 @@ public class DigestAlgorithm implements Algorithm {
if (!file.canRead()) {
return null;
}
FileInputStream fis = null;
InputStream fis = null;

byte[] buf = new byte[readBufferSize];
try {
messageDigest.reset();
fis = new FileInputStream(file);
fis = Files.newInputStream(file.toPath());
DigestInputStream dis = new DigestInputStream(fis,
messageDigest);
while (dis.read(buf, 0, readBufferSize) != -1) {


+ 5
- 4
src/main/org/apache/tools/ant/types/selectors/modifiedselector/PropertiesfileCache.java View File

@@ -22,8 +22,9 @@ package org.apache.tools.ant.types.selectors.modifiedselector;
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.nio.file.Files;
import java.util.Enumeration;
import java.util.Iterator;
import java.util.Properties;
@@ -133,7 +134,7 @@ public class PropertiesfileCache implements Cache {
if ((cachefile != null) && cachefile.isFile() && cachefile.canRead()) {
try {
BufferedInputStream bis = new BufferedInputStream(
new FileInputStream(cachefile));
Files.newInputStream(cachefile.toPath()));
cache.load(bis);
bis.close();
} catch (Exception e) {
@@ -159,7 +160,7 @@ public class PropertiesfileCache implements Cache {
if ((cachefile != null) && cache.propertyNames().hasMoreElements()) {
try {
BufferedOutputStream bos = new BufferedOutputStream(
new FileOutputStream(cachefile));
Files.newOutputStream(cachefile.toPath()));
cache.store(bos, null);
bos.flush();
bos.close();


+ 2
- 2
src/main/org/apache/tools/ant/util/ConcatFileInputStream.java View File

@@ -20,9 +20,9 @@ package org.apache.tools.ant.util;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.nio.file.Files;

import org.apache.tools.ant.Project;
import org.apache.tools.ant.ProjectComponent;
@@ -119,7 +119,7 @@ public class ConcatFileInputStream extends InputStream {
log("Opening " + file[index], Project.MSG_VERBOSE);
try {
currentStream = new BufferedInputStream(
new FileInputStream(file[index]));
Files.newInputStream(file[index].toPath()));
} catch (IOException eyeOhEx) {
log("Failed to open " + file[index], Project.MSG_ERR);
throw eyeOhEx;


+ 19
- 0
src/main/org/apache/tools/ant/util/FileUtils.java View File

@@ -31,6 +31,9 @@ import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLConnection;
import java.nio.channels.Channel;
import java.nio.file.Files;
import java.nio.file.Path;
import java.nio.file.StandardOpenOption;
import java.text.DecimalFormat;
import java.util.ArrayList;
import java.util.Arrays;
@@ -1707,4 +1710,20 @@ public class FileUtils {
close(is);
}
}

/**
* Opens a new OutputStream for the given Path.
* @param path the path of the file
* @param whether to append to or a replace an existing file
* @return a stream ready to write to the file
* @since Ant 1.10.2
*/
public static OutputStream newOutputStream(Path path, boolean append) throws IOException {
if (append) {
return Files.newOutputStream(path, StandardOpenOption.CREATE, StandardOpenOption.APPEND,
StandardOpenOption.WRITE);
} else {
return Files.newOutputStream(path);
}
}
}

+ 2
- 2
src/main/org/apache/tools/ant/util/LayoutPreservingProperties.java View File

@@ -20,7 +20,6 @@ package org.apache.tools.ant.util;
import java.io.BufferedReader;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
@@ -28,6 +27,7 @@ import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintStream;
import java.io.PushbackReader;
import java.nio.file.Files;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
@@ -250,7 +250,7 @@ public class LayoutPreservingProperties extends Properties {
* @param dest the file to write to
*/
public void saveAs(final File dest) throws IOException {
final FileOutputStream fos = new FileOutputStream(dest);
final OutputStream fos = Files.newOutputStream(dest.toPath());
store(fos, null);
fos.close();
}


+ 3
- 3
src/main/org/apache/tools/ant/util/LazyFileOutputStream.java View File

@@ -18,9 +18,9 @@
package org.apache.tools.ant.util;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import org.apache.tools.ant.util.FileUtils;

/**
* Class that delays opening the output file until the first bytes
@@ -31,7 +31,7 @@ import java.io.OutputStream;
*/
public class LazyFileOutputStream extends OutputStream {

private FileOutputStream fos;
private OutputStream fos;
private File file;
private boolean append;
private boolean alwaysCreate;
@@ -155,7 +155,7 @@ public class LazyFileOutputStream extends OutputStream {
}

if (!opened) {
fos = new FileOutputStream(file.getAbsolutePath(), append);
fos = FileUtils.newOutputStream(file.toPath(), append);
opened = true;
}
}


+ 4
- 11
src/main/org/apache/tools/ant/util/ResourceUtils.java View File

@@ -21,8 +21,6 @@ import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
@@ -30,6 +28,7 @@ import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.Reader;
import java.nio.channels.FileChannel;
import java.nio.file.StandardOpenOption;
import java.util.Arrays;
import java.util.Vector;

@@ -777,17 +776,13 @@ public class ResourceUtils {
+ " for " + destFile);
}

FileInputStream in = null;
FileOutputStream out = null;
FileChannel srcChannel = null;
FileChannel destChannel = null;

try {
in = new FileInputStream(sourceFile);
out = new FileOutputStream(destFile);

srcChannel = in.getChannel();
destChannel = out.getChannel();
srcChannel = FileChannel.open(sourceFile.toPath(), StandardOpenOption.READ);
destChannel = FileChannel.open(destFile.toPath(), StandardOpenOption.CREATE,
StandardOpenOption.TRUNCATE_EXISTING, StandardOpenOption.WRITE);

long position = 0;
final long count = srcChannel.size();
@@ -799,8 +794,6 @@ public class ResourceUtils {
} finally {
FileUtils.close(srcChannel);
FileUtils.close(destChannel);
FileUtils.close(out);
FileUtils.close(in);
}
}



+ 3
- 4
src/main/org/apache/tools/ant/util/ScriptRunnerBase.java View File

@@ -19,13 +19,12 @@ package org.apache.tools.ant.util;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.nio.charset.Charset;
import java.nio.file.Files;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
@@ -233,8 +232,8 @@ public abstract class ScriptRunnerBase {

InputStream in = null;
try {
in = new FileInputStream(file);
} catch (FileNotFoundException e) {
in = Files.newInputStream(file.toPath());
} catch (IOException e) {
//this can only happen if the file got deleted a short moment ago
throw new BuildException("file " + filename + " not found.");
}


+ 2
- 2
src/main/org/apache/tools/zip/ZipOutputStream.java View File

@@ -31,12 +31,12 @@ import static org.apache.tools.zip.ZipShort.putShort;

import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileOutputStream;
import java.io.FilterOutputStream;
import java.io.IOException;
import java.io.OutputStream;
import java.io.RandomAccessFile;
import java.nio.ByteBuffer;
import java.nio.file.Files;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
@@ -355,7 +355,7 @@ public class ZipOutputStream extends FilterOutputStream {
}
_raf = null;
}
out = new FileOutputStream(file);
out = Files.newOutputStream(file.toPath());
}
raf = _raf;
}


Loading…
Cancel
Save