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