Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java: Общие вопросы > Перемещение файла |
Автор: SeregaLBN 6.6.2007, 14:46 | ||
Ненашел нужной операции... Есть ли она? А то пришлось писать своё:
Но так ведь некорректно - делать копию, а потом удалять оригинал... Ведь если оригинал кто-лио держит то delete неотработается, и в результате будет две копии. |
Автор: fixxer 6.6.2007, 15:04 |
File#renameTo(File dest) не оно? |
Автор: kkorsakoff 6.6.2007, 15:07 |
renameTo имеет один недостаток, он работает в пределах одной директории. Ну а так все верно - сначала копия, потом источник удаляется |
Автор: fixxer 6.6.2007, 15:24 | ||||
Простите, а где это написано?
работает. Что я делаю не так? |
Автор: SeregaLBN 6.6.2007, 16:32 |
Супер. Спасибо. Похоже что оно. PS: Если renameTo вернет false, как узнать причину неудачи? |
Автор: fixxer 6.6.2007, 17:11 | ||
хз. В доке написано что все это очень сильно зависит от платформы. |
Автор: kkorsakoff 7.6.2007, 12:22 |
Если не в пределах директории, то надо вспомнить где он не работал. Возможно если между разными дисками перемещаешь. Опытным путем было установлено что в каких-то случаях метод не срабатывал. Куда проще не делать ветвлений для переименовался/не переименовался, а воспользоваться несложным копированием. Мы используем commons-io, где есть масса полезных и удобных методом для работы с файлами и вообще вводом/выводом. |
Автор: Shurr 7.6.2007, 12:30 |
Метод вполне рабочий, для простых операций. Единственное - не стоит использовать его для синхронизации при конкурентной работе, т.к. возвращаемое значение не всегда отражает реальный результат. |
Автор: niasilil 7.6.2007, 22:09 | ||||||
я бы все таки File.separator использовал, не только ведь под винды код пишется. |
Автор: Entry_N3 3.12.2009, 15:53 |
А как переместить директорию, содержащую файлы и вложенные папки? (File#renameTo(File dest) почему-то не срабатывает; перемещается C:\A\B в С:\D) |
Автор: Entry_N3 3.12.2009, 17:03 |
Нашел пример реализации - http://www.roseindia.net/java/example/java/io/MovingFile.shtml. |
Автор: LSD 4.12.2009, 13:04 |
http://commons.apache.org/io/api-release/org/apache/commons/io/FileUtils.html |