Java переименовать в папку с содержимым - PullRequest
3 голосов
/ 03 октября 2010

Просто пытаюсь использовать Java для переименования корня дерева папок.

Использование File.renameTo () работает только в Windows, если в папке вообще нет содержимого.Я не могу понять, является ли это ожидаемым поведением или нет.Похоже, что это не упоминается в документации.

В настоящее время я использую рекурсивный процесс копирования файлов и папок, а затем удаляю оригинал, но это более интенсивно, чем я надеялся в папкедерево, в котором каждый узел con может иметь сотни дочерних элементов.

Похоже, в Java 7 есть Path.moveTo (), но я пока не могу использовать 7.грязный способ, или есть способ получить только имя корневой папки, измененное?

Спасибо.

1 Ответ

7 голосов
/ 03 октября 2010

Вы можете определенно переименовать папки с содержимым в Windows.
Однако, если один из файлов в папке открыт для вывода, то может быть блокировка файла, препятствующая переименованию родительской папки.

Найдите блокировки файлов с помощью превосходного Process Explorer от sysinternals.
Это похоже на диспетчер задач для стероидов.

...