先上效果图:
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啦啦啦啦…..
版权声明:本文为dummyo原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。