мой вопрос, как перенести файл из одного места в другое. когда я запускаю свою программу, любой файл, созданный в этом месте, автоматически переместится в указанное место и как узнать, какой файл перемещен?.. в java
спасибо заранее.
мой вопрос, как перенести файл из одного места в другое. когда я запускаю свою программу, любой файл, созданный в этом месте, автоматически переместится в указанное место и как узнать, какой файл перемещен?.. в java
спасибо заранее.
myFile.renameTo(new File("/the/new/place/newName.file"));
File # renameTo делает это (он может не только переименовывать, но и перемещаться между каталогами, по крайней мере, в одной файловой системе).
Переименовывает файл, обозначенный этим абстрактным путем.
Многие аспекты поведения этого метода зависят от платформы: операция переименования может не переносить файл из одной файловой системы в другую, она может быть не атомарной, и может не получиться, если файл с конечный абстрактный путь уже существует. Всегда нужно проверить возвращаемое значение, чтобы убедиться, что операция переименования прошла успешно.
Если вам требуется более комплексное решение (например, для перемещения файла между дисками), посмотрите Apache Commons FileUtils # moveFile
С помощью Java 7 или новее вы можете использовать Files.move(from, to, CopyOption... options)
.
например.
Files.move(Paths.get("/foo.txt"), Paths.get("bar.txt"), StandardCopyOption.REPLACE_EXISTING);
Подробнее см. документацию Files
Чтобы переместить файл, вы также можете использовать Jakarta Commons IOs FileUtils.moveFile
При ошибке он выдает IOException
, поэтому, когда не генерируется исключение, вы знаете, что файл был перемещен.
File.renameTo
из Java IO можно использовать для перемещения файла на Java. Также см. этот вопрос SO.
Вы можете выполнить внешний инструмент для этой задачи (например, copy
в средах Windows), но, чтобы сохранить переносимый код, общий подход заключается в следующем:
File#renameTo
будет работать до тех пор, пока исходное и целевое местоположение находятся на одном уровне. Лично я бы не использовал его для перемещения файлов в разные папки.
Просто добавьте пути к исходной и целевой папкам.
Он скопирует все файлы и папку из исходной папки в папке назначения.
File destinationFolder = new File("");
File sourceFolder = new File("");
if (!destinationFolder.exists())
{
destinationFolder.mkdirs();
}
// Check weather source exists and it is folder.
if (sourceFolder.exists() && sourceFolder.isDirectory())
{
// Get list of the files and iterate over them
File[] listOfFiles = sourceFolder.listFiles();
if (listOfFiles != null)
{
for (File child : listOfFiles )
{
// Move files to destination folder
child.renameTo(new File(destinationFolder + "\\" + child.getName()));
}
// Add if you want to delete the source folder
sourceFolder.delete();
}
}
else
{
System.out.println(sourceFolder + " Folder does not exists");
}
Попробуйте следующее: -
boolean success = file.renameTo(new File(Destdir, file.getName()));
Files.move(source, target, REPLACE_EXISTING);
Вы можете использовать объект Files
Подробнее о Файлы