内存管理之缓存管理(删除文件夹里面的所有内容(文件和文件夹))

 
 
    /**
     * キャッシュを削除する(設定のストレジ管理)
     *
     * @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;
    }
利用递归循环删除低下的文件之后再删除文件夹
 
 

猜你喜欢

转载自blog.csdn.net/qq_15623599/article/details/79032981