import java.nio.file.;
import java.nio.file.attribute.;
import static java.nio.file.StandardCopyOption.*;
import java.io.IOException;
public class AdvancedCopy {
public static void main(String[] args) throws IOException {
Path source = Paths.get("source_directory");
Path target = Paths.get("target_directory");
Files.walkFileTree(source, new SimpleFileVisitor<Path>() {
@Override
public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) throws IOException {
Path targetDir = target.resolve(source.relativize(dir));
Files.createDirectories(targetDir);
return FileVisitResult.CONTINUE;
}
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
Files.copy(file, target.resolve(source.relativize(file)), REPLACE_EXISTING);
return FileVisitResult.CONTINUE;
}
});
}
}
import java.nio.file.;
import java.nio.file.attribute.;
import static java.nio.file.StandardCopyOption.*;
import java.io.IOException;
public class AdvancedCopy {
public static void main(String[] args) throws IOException {
Path source = Paths.get("source_directory");
Path target = Paths.get("target_directory");
}