EugeneRoshal
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Aniskin Цитата: Старый удаляется, и временный файл переименовывается в оригинальное имя архива? | Да. Или копируется, если он на другом диске. Цитата: сначала переименовывается оригинальный data.rar, например, в data.rar.bak, затем временный файл переименовывается в data.rar, а затем data.rar.bak удаляется. | RAR так делает, если исходный архив заблокирован другой программой. Для проверки пытается открыть его для обновления, и если не получилось, вместо удаления пытается переименовать. Насколько я помню, бывают ситуации, когда переименование работает, а удаление или обновление - нет. Делать же так всегда, не факт, что правильно. Если временный файл находится на другом диске, то подход с переименованием перед удалением приведет к повышенному требованию к свободному месту на диске. То есть, возможна ситуация, когда с нынешним подходом места бы хватило, а с предлагаемым - нет. Разве если делать разное поведение для временного файла на том же диске, что и архив, и на другом диске, хотя это несколько заморочено. В принципе, если нам удалось удалить архив, так и с созданием архива с тем же именем проблемы возникнуть не должно. Кроме каких-то хитрых прав доступа к папке. Но с хитрыми правами и с переименованеим могут быть проблемы. |