2011-01-06 14 views
0

sdcardのフォルダを削除しようとしています。 通常のディレクトリは削除できますが、ピリオドで始まるディレクトリは削除できません。 dirが期間(例: ".helloDir ")で始まる場合 (例:" .helloDir")Android:どのようにフォルダを削除するのですか?

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

子供たちはnullです。ただ、ここで大声で考えて

+0

多分隠れているので、「ドットを除外」してみてください。 –

+1

子供はヌルですか?だから、ドットがあればディレクトリのリストを取得することさえできないのですか?それとも、あなたが子供たち[i]がヌルであることを意味しますか? – Falmarri

+0

children == null – jclova

答えて

0

....

開発者向けドキュメントが(リストについて言う)

は「このファイルによって表されるディレクトリ で ファイル名を持つ文字列の配列を返します。このファイルが ディレクトリではない場合。結果 はnullです。

それがハイであるため、Androidのは、それがディレクトリであると思わないかもしれませんデンデン、または可能性としてそれを別の方法で分類します....魚のように聞こえますが、あなたのコードがあなたの言う通りに働くなら、それはそうです。

ディレクトリでisHidden()を実行し、別の方法で削除する必要があります。 list()の代わりにlistFiles()を試してみることもできます。

関連する問題