Почему в этой строчке Files.copy(paths, target); используется именно paths? А не sourceDirectory ? В конструктор метода принимает два пути, со вторым разобрался почему так. А вот первый путь так и не понял. Это же должно быть директорией.
for (Path paths : files) {
if (Files.isRegularFile(paths)) {
Path target = targetDirectory.resolve(paths.getFileName());
Files.copy(paths, target);
}
А в этой конструкции paths проходит через условие в if и получается может быть только файлом. Этот момент я так и не понял.
Essah King
37 уровень
Не могу понять
Обсуждается
Комментарии (2)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Семён
20 августа 2021, 17:12
DirectoryStream<Path> files = Files.newDirectoryStream(path) - Получаем объект со списком файлов.
Тут смысл как и у пользователя: Вы заходите в любую папку и видите список папок и файлов. Этот список передается в переменную, который мы потом через for each перебираем поэлементно, а if проверяет папка это (директория) или файл. Когда находим файл, строим новый абсолютный путь - добавляем в новую директорию имя файла.
0
Anonymous #2583212 Backend Developer в Open Code
20 августа 2021, 07:26
Перечитай условие еще раз внимательно! Тебе нужно копировать именно ФАЙЛЫ
0