Страницы

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

пятница, 9 ноября 2018 г.

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

Добрый день, завис на методе 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: с перечеслением всех файлов в папке


Ответ

У вас неправильно формируется имя файла для 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);
}

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

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