Android: как удалить папку начинается с точки - PullRequest
0 голосов
/ 06 января 2011

Я пытаюсь удалить папку в SDCard.Я могу удалить обычные каталоги, но каталог, начинающийся с точки, удалить нельзя.(напр. ".helloDir")

    if (dir.isDirectory()) {
        String[] children = dir.list();
        for (int i = 0; i < children.length; i++) {
            new File(dir, children[i]).delete();
        }
    }

children имеет значение null, если dir начинается с точки (например, ".helloDir").

1 Ответ

0 голосов
/ 06 января 2011

Просто мысли вслух ...

Документы разработчика говорят о списке ()

"Возвращает массив строк с имена файлов в каталоге представлен этим файлом. Результат является нулевым, если этот файл не является каталог.

Android может не думать, что это каталог, потому что он скрыт, или, возможно, классифицировать его по-другому .... звучит подозрительно, но если ваш код работает так, как вы говорите.

Может потребоваться выполнить isHidden() для каталога и использовать альтернативный метод для его удаления. Вы также можете попробовать использовать listFiles() вместо list().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...