Можете дать подсказку без явного решения готового примера.
Хочу найти ответ сам. Подскажите если это возможно )
Не могу понять почему сразу вылетает Exeption и не хочет срабатывать метод копи. Возможно я неправильно понимаю работу метода copy. Хотя что там понимать на входе требуется путь абсалютный к файлу, а в качестве второго аргумента путь директории куда пойдет копирование.
package com.javarush.task.pro.task15.task1519;
import java.io.IOException;
import java.nio.file.DirectoryStream;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Scanner;
/*
Поверхностное копирование
*/
public class Solution {
final static String FIRST_DIR = "type first dir";
final static String SECOND_DIR = "type second dir";
public static void main(String[] args) throws IOException {
Scanner scanner = new Scanner(System.in);
System.out.println(FIRST_DIR);
Path sourceDirectory = Path.of(scanner.nextLine()); //=>C:\Users\NirvanaFlame\Downloads\dir1
System.out.println(SECOND_DIR);
Path targetDirectory = Path.of(scanner.nextLine()); // => C:\Users\NirvanaFlame\Downloads\dir2
copyFiles(sourceDirectory, targetDirectory);
}
static void copyFiles(Path sourceDirectory, Path targetDirectory) {
try (DirectoryStream<Path> directoryStreamFirst = Files.newDirectoryStream(sourceDirectory)) { //создаём коллекцию файлов и дериктиорий
for (Path value : directoryStreamFirst) { //проходим всю коллекцию directoryStreamFirst
if (!Files.isDirectory(value)) { //проверяем файл это или нет
Files.copy(value, targetDirectory); //если файл тогда выполняем метод сopy и копируем файл (value)
} //в директорию вторую targetDirectory
}
} catch (IOException e) {
System.out.println("oops...");
}
}
}