Страницы

Поиск по вопросам

суббота, 14 декабря 2019 г.

Как скопировать файлы из одной папки в другую?

#java


Добрый день, завис на методе copy не могу понять как им воспользоваться ?

public static void main(String[] args) throws InterruptedException, IOException {       
    ArrayList selectFiles = new ArrayList<>();
    File folder = new File("путь");
    File[] listOfFiles = folder.listFiles();

    for (File f : listOfFiles) {
        selectFiles.add(f + "");
    }    

    File source = new File(" " + selectFiles);// ПОЛУЧАЮ СПИСОК ФАЙЛОВ ПРИСВАИВАЮ
ПЕРЕМЕННУЮ С ФАЙЛАМИ 
    File dest = new File("путь");// ПРОПИСЫВАЮ ПУТЬ КУДА КОПИРОВАТЬ             
    copy(source, dest);     
}

public static void copy(File source, File dest) throws IOException {
    Files.copy(source.toPath(), dest.toPath());
}


Но так не работает выдаёт ошибку 


  Exception in thread "main" java.nio.file.InvalidPathException: Illegal char <:>
at index 3: с перечеслением всех файлов в папке 


.
    


Ответы

Ответ 1



У вас неправильно формируется имя файла для source. Код должен выглядеть примерно так: private static void copyDir(String sourceDirName, String targetSourceDir) throws IOException { File folder = new File(sourceDirName); File[] listOfFiles = folder.listFiles(); Path destDir = Paths.get(targetSourceDir); if (listOfFiles != null) for (File file : listOfFiles) Files.copy(file.toPath(), destDir.resolve(file.getName()), StandardCopyOption.REPLACE_EXISTING); }

Ответ 2



Попробуйте так for (File f : listOfFiles) { Files.copy(f.toPath(), new File("путь" + File.separator + f.getName()).toPath()); }

Комментариев нет:

Отправить комментарий