Java копирование вложенных папок и файлов

Не получается скопировать файлы с папками и подпапками в java с помощью библиотеки java.nio. Просьба подсказать. Метод ниже копирует только файлы из одной папки в другую без подпапок.

public static void copyFolder(String sourceDirectory, String destinationDirectory) throws IOException {
       
            Path pathSource = Path.of(sourceDirectory);
            Path pathDestination = Path.of(destinationDirectory);
            Files.copy(pathSource, pathDestination);
    }

Нужно именно с помощью библиотека java.nio, а не java.io


Ответы (1 шт):

Автор решения: kyt3

Попробуйте вот так:

public static void copyFolder(String sourceDirectory, String destinationDirectory) throws IOException {
   
        Files.walk(Paths.get(sourceDirectory))
            .forEach(source -> {
                Path destination = Paths.get(destinationDirectory, source.toString()
                        .substring(sourceDirectory.length()));
                try {
                    Files.copy(source, destination);
                } catch (IOException e) {
                    e.printStackTrace();
                }
            });
}
→ Ссылка