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啦啦啦啦.....
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值