#java
Добрый день, завис на методе copy не могу понять как им воспользоваться ? public static void main(String[] args) throws InterruptedException, IOException { ArrayListselectFiles = 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()); }
Комментариев нет:
Отправить комментарий