多くのファイルを含むディレクトリがあります。ディレクトリ全体とその中のすべてのファイルを削除したい。Androidでファイルを削除する
次のコマンドが実行される前に、そのディレクトリ内のすべてのファイル(ディレクトリ自体を含む)が削除されるまでコードを待機させたいと思います。
私はどのように待つのですか? 私のコードは、すべてのファイルが削除されるとき、あなたは、このためのユーザーハンドラので、それはあなたが実行する次のタスクにハンドラにメッセージを送信するべき
public void wipeMemoryCard()
{
File deleteMatchingFile = new File(Environment
.getExternalStorageDirectory().toString());
try {
filenames = deleteMatchingFile.listFiles();
if (filenames != null && filenames.length > 0)
{
content = true;
for (File tempFile : filenames)
{
if (tempFile.isDirectory())
{
wipeDirectory(tempFile.toString());
tempFile.delete();
}
else
{
File file = new File(tempFile.getAbsolutePath());
file.delete();
}
}
}
else
{
deleteMatchingFile.delete();
Toast("No files to Delete");
}
}
catch (Exception e)
{
e.printStackTrace();
}
if(content == true)
{
if (filenames == null && filenames.length == 0)
{
Toast("Files Deleted");
}
}
}
private static void wipeDirectory(String name) {
File directoryFile = new File(name);
File[] filenames = directoryFile.listFiles();
if (filenames != null && filenames.length > 0)
{
for (File tempFile : filenames)
{
if (tempFile.isDirectory())
{
wipeDirectory(tempFile.toString());
tempFile.delete();
}
else
{
File file = new File(tempFile.getAbsolutePath());
file.delete();
}
}
} else
{
directoryFile.delete();
}
}
ありがとうございます。これはテストアプリケーションです。 – Fresher
犯罪は意図されていませんが、テキストには皮肉が現れません。 :D – st0le