Как удалить всю папку и содержимое?

Если Вы серьезно относитесь к разработке, iPhone (или iPod touch) является необходимостью. Однако официальный SDK идет с очень полным "средством моделирования iPhone". Это позволит Вам получающий ощущение Objective C и всего рабочего процесса разработки. SDK требует Leopard.

Вам не нужен Mac для этого. Можно использовать OSX86 на ПК, или установленном на и загруженный от диска или до VmWare.

Это работает. На самом деле можно даже синхронизировать iPhone через Leopard, работающий в VMware.

Теперь, тестируя на реальном iPhone необходимость из-за производительности, использование памяти И т.д. Также, Вам нужен он для всей процедуры аутентификации, получая ключи и т.д. (если Вы хотите продать свой материал на Appstore), тестируя это действительно требует iPhone.

169
задан Sam 17 August 2014 в 14:32
поделиться

1 ответ

Это (Попытки удалить все субфайлы и подкаталоги включая предоставленный каталог) :

  1. , Если File, удалите
  2. , Если Empty Directory, удалите
  3. , если Not Empty Directory, вызов удаляет снова с подкаталогом, повторитесь 1 - 3

пример:

File externalDir = Environment.getExternalStorageDirectory()
Utils.deleteAll(externalDir); //BE CAREFUL.. Will try and delete ALL external storage files and directories

Для получения доступа к Внешнему Каталогу хранилища Вам нужны следующие полномочия:

(Использование ContextCompat.checkSelfPermission и ActivityCompat.requestPermissions)

<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

Рекурсивный метод:

public static boolean deleteAll(File file) {
    if (file == null || !file.exists()) return false;

    boolean success = true;
    if (file.isDirectory()) {
        File[] files = file.listFiles();
        if (files != null && files.length > 0) {
            for (File f : files) {
                if (f.isDirectory()) {
                    success &= deleteAll(f);
                }
                if (!f.delete()) {
                    Log.w("deleteAll", "Failed to delete " + f);
                    success = false;
                }
            }
        } else {
            if (!file.delete()) {
                Log.w("deleteAll", "Failed to delete " + file);
                success = false;
            }
        }
    } else {
        if (!file.delete()) {
            Log.w("deleteAll", "Failed to delete " + file);
            success = false;
        }
    }
    return success;
}
0
ответ дан 23 November 2019 в 20:48
поделиться
Другие вопросы по тегам:

Похожие вопросы: