/**
* キャッシュを削除する(設定のストレジ管理)
*
* @param context 上下文
* @param cachePath context.getCacheDir().toString()
* @return 削除が成功した場合にtrueを返す。
*/
public static boolean deleteCacheFileDir(Context context, String cachePath) {
String fileName;
String filePath;
File dir = new File(cachePath);
File[] files = dir.listFiles();
for (int i = 0; i < files.length; i++) {
if (files[i].isDirectory()) {
deleteCacheFileDir(context,files[i].getAbsolutePath());
} else {
fileName = files[i].getName();
filePath = files[i].getAbsolutePath();
//削除する
Log.d("delete---", filePath +"/"+fileName+"---delete");
deleteSuccess = StorageUtil.delete(files[i]);
if(i == (files.length - 1)){
boolean deleteDir = new File(filePath).delete();
}
}
}
if(!(cachePath.equals(context.getCacheDir().toString()))){
boolean deleteDir = dir.delete();
Log.d("delete---"+dir.getPath(), deleteDir+"");
}
return deleteSuccess;
}
利用递归循环删除低下的文件之后再删除文件夹