Android获取缓存大小与删除缓存

先上效果图:


1> 获取缓存大小:  

 private static long getFolderSize(File file)
    {
        long size = 0;
        File[] files = file.listFiles();  //获取file目录的所有file
        for(int i=0; i< files.length;i++)
        {
            if(files[i].isDirectory()){      //如果是目录的话,递归
                size = size + getFolderSize(files[i]);  //递归用法
            }else {
                size = size + files[i].length(); //每一个file的长度
            }
        }
        return size;
    }

由于上面返回的是字节数,所以还需要转化一下

 long cacheSize = getFolderSize(cache);
        double Kbyte = cacheSize/1024;
        double Mbyte = Kbyte/1024;
        if(Mbyte<1){
            result= "" + String.format("%.2f",Kbyte) + "KB";  //保留2位小数,四舍五入
        }else {
            result = "" + String.format("%.2f",Mbyte) + "MB";
        }
        return result;

2> 删除缓存。【判断file是文件还是目录; 是文件的话直接file.delete(), 是目录的话,继续递归】

 public static void del(File file)
    {
        if(file.isDirectory()){   //如果是目录,进行递归
            File[] fileList = file.listFiles();
            for(File f: fileList){
                del(f);
            }
        }else {
            file.delete();  //不是目录,即文件,直接删除
        }
    }
然后就ok啦啦啦啦.....

你可能感兴趣的:(Android知识碎碎片)