Удаление

Удаление.

Удалять файлы и каталоги проще, чем перемещать и создавать их. Нам всего лишь нужно получить объект Entry для файла или каталога, который мы собираемся удалить, и применить к этой ссылке метод remove().

Листинг 12.15. Удаление файлов и каталогов

Function modify(){

Var origin=document. getElementById(‘origin’).value; var origin=path+origin; hd. getFile(origin, null, function(entry){ entry. remove(success, showerror);

},showerror);

}

Код из листинга 12.15 извлекает значение поля-источника из данных формы. Это значение вместе со значением переменной path представляет собой путь к файлу, который мы собираемся удалить. Таким образом, используя метод getFile(), мы создаем объект Entry для вышеупомянутого файла, а затем применяем к нему метод remove().

Замените функцию modify() в коде из листинга 12.13 новой функцией из листинга 12.15. На этот раз вам нужно будет заполнить только поле Источник, указав путь к удаляемому файлу.

Удаление каталога незначительно отличается от удаления файла: объект Entry приходится создавать с использованием getDirectory(), однако метод remove() менять не требуется, он работает так же, как всегда. При этом все же необходимо учитывать один специфический момент: если каталог не пуст, то метод remove() вернет ошибку. Для того чтобы удалить каталог со всем его содержимым, необходимо применить другой метод, который мы упоминали чуть раньше в этой главе. Этот метод называется removeRecursively().

Листинг 12.16. Удаление непустых каталогов

Function modify(){

Var destination=document. getElementById(‘destination’).value; hd. getDirectory(destination, null, function(entry){ entry. removeRecursively(success, showerror);

},showerror);

}

В функции из листинга 12.16 мы использовали значение поля destination для указания каталога, который будет удален. Метод remove-Recursively() удаляет каталог со всем его содержимым за один проход и в случае успешного завершения операции вызывает функцию success().

Функции modify() в примерах из листингов 12.14-12.16 полностью заменяют собой аналогичную функцию из листинга 12.13.

Для тестирования этих примеров откройте код из листинга

12.13, поменяйте функцию modify() на тот ее вариант, который вы желаете протестировать, и откройте в браузере шаблон из листинга 12.12. В зависимости от того, какой метод тестируете, вам понадобится ввести в поля формы одно или два значения.

Если при тестировании этих примеров ваш браузер возвращает ошибку, попробуйте воспользоваться браузером Chromium (http://www. chromium.org). Коды, использованные в примерах для этой части API, были проверены в последней из доступных на тот момент версий Google Chrome.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *