Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

Files.move()

Перемещает или переименовывает файл или папку.

Доступно с: Java 7

Синтаксис

public static Path move(Path source, Path target, CopyOption... options)

Параметры

ПараметрТипОписание
sourcePathЧто перемещать.
targetPathНовый путь, включая имя.
optionsCopyOption...Необязательно: REPLACE_EXISTING, ATOMIC_MOVE.

Возвращаемое значение

PathНовый путь.

Примеры

Переименование файла в той же папке:

void main() throws IOException {
    Path dir = Files.createTempDirectory("demo");
    Path draft = Files.writeString(dir.resolve("draft.txt"), "Report");
 
    Path report = Files.move(draft, dir.resolve("report.txt"));
    IO.println(report.getFileName());
    IO.println(Files.exists(draft));
}

Результат:

report.txt
false

Перемещение в другую папку с заменой существующего файла:

void main() throws IOException {
    Path dir = Files.createTempDirectory("demo");
    Path archive = Files.createDirectories(dir.resolve("archive"));
    Files.writeString(archive.resolve("log.txt"), "old log");
    Path log = Files.writeString(dir.resolve("log.txt"), "new log");
 
    Files.move(log, archive.resolve("log.txt"), StandardCopyOption.REPLACE_EXISTING);
    IO.println(Files.readString(archive.resolve("log.txt")));
}

Результат:

new log

Примечания

Без REPLACE_EXISTING перемещение на место существующего файла бросает FileAlreadyExistsException. Папка назначения должна существовать. ATOMIC_MOVE гарантирует, что другие программы увидят либо старый, либо новый файл, но не половину — удобно для записи через временный файл. Перемещение папки на другой диск может не сработать: тогда её копируют и удаляют.

См. также

  • Files.copy() — Копирует файл. По умолчанию не перезаписывает существующий файл.
  • Files.delete() — Удаляет файл или пустую папку. Вариант deleteIfExists() не бросает исключение, если файла нет.
  • Files.createDirectories() — Создаёт папку вместе со всеми недостающими родительскими папками.
  • Path.of() — Создаёт объект Path — путь к файлу или папке.

В учебнике

  • Файлы и пути — Работа с файловой системой в Java — Path, Files.exists, создание папок и файлов, размер, копирование, перемещение, удаление и список файлов.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.