#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()); }
Комментариев нет:
Отправить комментарий