Копирование нескольких файлов из одной папки в другую в JAVA 15

          Path src = Paths.get("./resources");
    Path dst = Paths.get("./trash");
    
    try {
        
        DirectoryStream<Path> ds = Files.newDirectoryStream(src);
            
        for(Path fileorDir : ds) {
            System.out.println(fileorDir);
            Files.copy(fileorDir, dst);
        }
    }catch(IOException ioe){
        ioe.printStackTrace();
    }

// Ошибка, которую я получаю, это java.nio.file.FileAlreadyExistsException, поэтому, насколько я понимаю, он пытается сохранить файл в этом точном месте, а не внутри него, мне нужно сохранить пару текстовых файлов таким образом, если я изменю пункт назначения адрес, чтобы сказать, корзина/trash.txt он сохранит там файл с именем trash.txt. но затем в следующем цикле для каждого выдается исключение "Уже существует"...

Может кто-нибудь объяснить, как я могу просто сохранить все файлы txt в эту папку из папки src, как будто перетаскивая их?

Большое спасибо

1 ответ

Вы можете использовать опцию в copy(), которая является StandardCopyOption.REPLACE_EXISTING, но проблема в том, что dst не является хорошим путем. Например, ressources/trash.txt следует скопировать в корзину/trash.txt, а dst — это просто /trash, как путь. Извините за мой английский, и это мой первый ответ :) Будьте милосердны.

Другие вопросы по тегам