Я хочу скопировать файлы из одного каталога в другой (подкаталог), используя Java. У меня есть каталог, каталог, с текстовыми файлами. Я перебираю первые 20 файлов в dir и хочу скопировать их в другой каталог в каталоге dir, который я создал прямо перед итерацией. В коде я хочу скопировать review
(который представляет i-й текстовый файл или обзор) в trainingDir
. Как я могу это сделать? Кажется, такой функции не существует (или я не смог ее найти). Спасибо.
boolean success = false;
File[] reviews = dir.listFiles();
String trainingDir = dir.getAbsolutePath() + "/trainingData";
File trDir = new File(trainingDir);
success = trDir.mkdir();
for(int i = 1; i <= 20; i++) {
File review = reviews[i];
}
Ответы:
На данный момент это должно решить вашу проблему
FileUtils
класс из библиотеки apache commons-io , доступен с версии 1.2.Лучше всего использовать сторонние инструменты вместо написания всех утилит самостоятельно. Это может сэкономить время и другие ценные ресурсы.
источник
FileUtils.copyDirectory(source,dest)
кFileUtils.copyFile(source, dest)
, это может создать каталог , если он не существуетВ Стандартном API нет метода копирования файлов (пока). Ваши варианты:
источник
В Java 7 есть это стандартный метод для копирования файлов в Java:
Files.copy.
Он интегрируется с собственным вводом / выводом O / S для обеспечения высокой производительности.
Смотрите мой A на стандартном кратком способе скопировать файл на Java? для полного описания использования.
источник
Пример ниже от Java Tips довольно прост. С тех пор я переключился на Groovy для операций, связанных с файловой системой - намного проще и элегантнее. Но вот советы Java, которые я использовал в прошлом. В нем отсутствует надежная обработка исключений, которая требуется, чтобы сделать ее надежной.
источник
sourceLocation.exists()
в случае предотвращенияjava.io.FileNotFoundException
Если вы хотите скопировать файл, а не переместить его, вы можете написать код следующим образом.
источник
В Spring Framework есть много похожих классов утилит, таких как Apache Commons Lang. Так что есть
org.springframework.util.FileSystemUtils
источник
apache commons Fileutils - это удобно. Вы можете сделать ниже деятельности.
копирование файла из одного каталога в другой каталог.
использование
copyFileToDirectory(File srcFile, File destDir)
копирование каталога из одного каталога в другой.
использование
copyDirectory(File srcDir, File destDir)
копирование содержимого одного файла в другой
использование
static void copyFile(File srcFile, File destFile)
источник
источник
Источник: https://docs.oracle.com/javase/tutorial/essential/io/copy.html.
источник
Apache commons FileUtils будет полезен, если вы хотите только перемещать файлы из исходного в целевой каталог, а не копировать весь каталог, вы можете сделать:
Если вы хотите пропустить каталоги, вы можете сделать:
источник
Кажется, вы ищете простое решение (хорошая вещь). Я рекомендую использовать Apache FileUtils.copyDirectory :
Ваш код может выглядеть просто и красиво:
источник
Вдохновлен ответом Мохита в этой теме . Применимо только для Java 8.
Следующее может быть использовано для рекурсивного копирования всего из одной папки в другую:
Потоковый стиль FTW.
Upd 2019-06-10: важное примечание - закрыть поток (например, используя try-with-resource), полученный вызовом Files.walk. Спасибо @jannis за это.
источник
Files.walk(source)
с рекомендациями в документации, иначе вы можете попасть в неприятностиНиже приведен модифицированный код Брайана, который копирует файлы из исходного местоположения в конечное местоположение.
источник
Java 8
Метод копирования
источник
Вы можете обойти это, скопировав исходный файл в новый файл и удалив оригинал.
источник
использование
org.apache.commons.io.FileUtils
Это так удобно
источник
источник
Классы NIO делают это довольно просто.
http://www.javalobby.org/java/forums/t17036.html
источник
я использую следующий код для переноса загруженного
CommonMultipartFile
в папку и копирования этого файла в папку назначения в папке веб-проекта (то есть) веб-проекта,источник
Скопировать файл из одного каталога в другой каталог ...
источник
Здесь просто Java-код для копирования данных из одной папки в другую, вам нужно просто указать источник и место назначения.
это рабочий код для того, что вы хотите .. дайте мне знать, если это помогло
источник
Вы можете использовать следующий код для копирования файлов из одного каталога в другой
источник
источник
fileChooser
?следующий код для копирования файлов из одного каталога в другой
источник
источник
Даже не так сложно и не требуется импорт в Java 7:
renameTo( )
Метод изменяет имя файла:public boolean renameTo( File destination)
Например, чтобы изменить имя файла
src.txt
в текущем рабочем каталогеdst.txt
, вы должны написать:Вот и все.
Ссылка:
Гарольд, Эллиот Расти (2006-05-16). Java I / O (стр. 393). О'Рейли Медиа. Kindle Edition.
источник
Вы можете использовать следующий код для копирования файлов из одного каталога в другой
источник
Следующую рекурсивную функцию я написал, если она кому-нибудь поможет. Он скопирует все файлы из sourcedirectory в destinationDirectory.
пример:
rfunction("D:/MyDirectory", "D:/MyDirectoryNew", "D:/MyDirectory");
источник
Если вы не хотите использовать внешние библиотеки и хотите использовать классы java.io вместо классов java.nio, вы можете использовать этот краткий метод для копирования папки и всего ее содержимого:
источник
Лучший способ, насколько мне известно, заключается в следующем:
источник