Author: markt Date: Thu Jan 7 09:31:50 2016 New Revision: 1723493 URL: http://svn.apache.org/viewvc?rev=1723493&view=rev Log: Use java.nio.file.Files where possible
Modified: tomcat/trunk/java/org/apache/catalina/manager/host/HostManagerServlet.java tomcat/trunk/java/org/apache/catalina/servlets/CGIServlet.java tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java tomcat/trunk/java/org/apache/catalina/webresources/DirResourceSet.java Modified: tomcat/trunk/java/org/apache/catalina/manager/host/HostManagerServlet.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/manager/host/HostManagerServlet.java?rev=1723493&r1=1723492&r2=1723493&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/manager/host/HostManagerServlet.java (original) +++ tomcat/trunk/java/org/apache/catalina/manager/host/HostManagerServlet.java Thu Jan 7 09:31:50 2016 @@ -17,11 +17,11 @@ package org.apache.catalina.manager.host; import java.io.File; -import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; -import java.io.OutputStream; import java.io.PrintWriter; +import java.nio.file.Files; +import java.nio.file.Path; import java.util.StringTokenizer; import javax.servlet.ServletException; @@ -39,7 +39,6 @@ import org.apache.catalina.Wrapper; import org.apache.catalina.core.ContainerBase; import org.apache.catalina.core.StandardHost; import org.apache.catalina.startup.HostConfig; -import org.apache.catalina.util.IOTools; import org.apache.tomcat.util.ExceptionUtils; import org.apache.tomcat.util.res.StringManager; @@ -383,11 +382,9 @@ public class HostManagerServlet "hostManagerServlet.configBaseCreateFail", name)); return; } - try (InputStream is = getServletContext().getResourceAsStream("/manager.xml"); - OutputStream os = new FileOutputStream( - new File(configBaseFile, "manager.xml"))) { - byte buffer[] = new byte[512]; - IOTools.flow(is, os, buffer); + try (InputStream is = getServletContext().getResourceAsStream("/manager.xml")) { + Path dest = (new File(configBaseFile, "manager.xml")).toPath(); + Files.copy(is, dest); } catch (IOException e) { writer.println(smClient.getString("hostManagerServlet.managerXml")); return; Modified: tomcat/trunk/java/org/apache/catalina/servlets/CGIServlet.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/servlets/CGIServlet.java?rev=1723493&r1=1723492&r2=1723493&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/servlets/CGIServlet.java (original) +++ tomcat/trunk/java/org/apache/catalina/servlets/CGIServlet.java Thu Jan 7 09:31:50 2016 @@ -21,13 +21,13 @@ package org.apache.catalina.servlets; 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; import java.io.OutputStream; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; +import java.nio.file.Files; import java.util.ArrayList; import java.util.Date; import java.util.Enumeration; @@ -1166,9 +1166,7 @@ public final class CGIServlet extends Ht } // create directories - String dirPath = destPath.toString().substring( - 0,destPath.toString().lastIndexOf('/')); - File dir = new File(dirPath); + File dir = f.getParentFile(); if (!dir.mkdirs() && !dir.isDirectory()) { if (debug >= 2) { log("expandCGIScript: failed to create directories for '" + @@ -1188,19 +1186,13 @@ public final class CGIServlet extends Ht if (!f.createNewFile()) { return; } - FileOutputStream fos = new FileOutputStream(f); try { - // copy data - IOTools.flow(is, fos); + Files.copy(is, f.toPath()); } finally { - try { - is.close(); - } catch (IOException e) { - log("Could not close is.", e); - } - fos.close(); + is.close(); } + if (debug >= 2) { log("expandCGIScript: expanded '" + srcPath + "' to '" + destPath + "'"); } Modified: tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java?rev=1723493&r1=1723492&r2=1723493&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java (original) +++ tomcat/trunk/java/org/apache/catalina/startup/HostConfig.java Thu Jan 7 09:31:50 2016 @@ -22,8 +22,8 @@ import java.io.FileInputStream; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; -import java.io.OutputStream; import java.net.URL; +import java.nio.file.Files; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; @@ -56,7 +56,6 @@ import org.apache.catalina.Manager; import org.apache.catalina.core.StandardContext; import org.apache.catalina.core.StandardHost; import org.apache.catalina.util.ContextName; -import org.apache.catalina.util.IOTools; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; import org.apache.tomcat.util.ExceptionUtils; @@ -1066,11 +1065,7 @@ public class HostConfig implements Lifec } if (copyThisXml) { - try (InputStream is = new FileInputStream(xml); - OutputStream os = new FileOutputStream(xmlCopy)) { - IOTools.flow(is, os); - // Don't catch IOE - let the outer try/catch handle it - } + Files.copy(xml.toPath(), xmlCopy.toPath()); context.setConfigFile(xmlCopy.toURI().toURL()); } else { context.setConfigFile(xml.toURI().toURL()); Modified: tomcat/trunk/java/org/apache/catalina/webresources/DirResourceSet.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/webresources/DirResourceSet.java?rev=1723493&r1=1723492&r2=1723493&view=diff ============================================================================== --- tomcat/trunk/java/org/apache/catalina/webresources/DirResourceSet.java (original) +++ tomcat/trunk/java/org/apache/catalina/webresources/DirResourceSet.java Thu Jan 7 09:31:50 2016 @@ -18,9 +18,10 @@ package org.apache.catalina.webresources 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.StandardCopyOption; import java.util.Set; import java.util.jar.Manifest; @@ -28,7 +29,6 @@ import org.apache.catalina.LifecycleExce import org.apache.catalina.WebResource; import org.apache.catalina.WebResourceRoot; import org.apache.catalina.WebResourceRoot.ResourceSetType; -import org.apache.catalina.util.IOTools; import org.apache.catalina.util.ResourceSet; import org.apache.juli.logging.Log; import org.apache.juli.logging.LogFactory; @@ -228,18 +228,16 @@ public class DirResourceSet extends Abst return false; } - if (dest.exists()) { + if (dest.exists() && !overwrite) { + return false; + } + + try { if (overwrite) { - if (!dest.delete()) { - return false; - } + Files.copy(is, dest.toPath(), StandardCopyOption.REPLACE_EXISTING); } else { - return false; + Files.copy(is, dest.toPath()); } - } - - try (FileOutputStream fos = new FileOutputStream(dest)) { - IOTools.flow(is, fos); } catch (IOException ioe) { return false; } --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org