src/share/classes/org/openjdk/jigsaw/Files.java

Print this page

        

*** 26,35 **** --- 26,37 ---- package org.openjdk.jigsaw; import java.io.*; import java.util.jar.*; import java.util.zip.*; + import static java.nio.file.StandardCopyOption.COPY_ATTRIBUTES; + import static java.nio.file.StandardCopyOption.REPLACE_EXISTING; public final class Files { private Files() { }
*** 105,143 **** } } delete(dst); } - private static void copy(File src, OutputStream out) - throws IOException - { - ensureIsFile(src); - byte[] buf = new byte[8192]; - FileInputStream in = new FileInputStream(src); - try { - try { - int n; - while ((n = in.read(buf)) > 0) { - out.write(buf, 0, n); - } - } finally { - out.close(); - } - } finally { - in.close(); - } - } - private static void copy(File src, File dst) throws IOException { ! if (dst.exists()) ! ensureIsFile(dst); ! copy(src, new FileOutputStream(dst)); ! dst.setLastModified(src.lastModified()); ! if (src.canExecute()) ! dst.setExecutable(true, false); } public static interface Filter<T> { public boolean accept(T x) throws IOException; } --- 107,121 ---- } } delete(dst); } private static void copy(File src, File dst) throws IOException { ! java.nio.file.Files.copy(src.toPath(), dst.toPath(), ! COPY_ATTRIBUTES, REPLACE_EXISTING); } public static interface Filter<T> { public boolean accept(T x) throws IOException; }
*** 187,199 **** continue; String dp = (dstPath == null) ? sls[i] : dstPath + "/" + sls[i]; if (sf.isDirectory()) { storeTree(sf, dst, deflate, filter, dp); } else { ! copy(sf, newOutputStream(dst, deflate, dp)); } } } public static void storeTree(File src, JarOutputStream dst, boolean deflate, Filter<File> filter) throws IOException --- 165,180 ---- continue; String dp = (dstPath == null) ? sls[i] : dstPath + "/" + sls[i]; if (sf.isDirectory()) { storeTree(sf, dst, deflate, filter, dp); } else { ! ensureIsFile(sf); ! try (OutputStream out = newOutputStream(dst, deflate, dp)) { ! java.nio.file.Files.copy(sf.toPath(), out); } } + } } public static void storeTree(File src, JarOutputStream dst, boolean deflate, Filter<File> filter) throws IOException