用来获取sd卡和系统/data分区的使用情况,包括:总的空间大小、可用空间、已用空间

package com.schogini.dhcp;


import java.io.File;


import android.content.Context;
import android.os.Environment;
import android.os.StatFs;


public class CheckStore {
private static String notice;

     public static String checkSD(Context contect){
     
    File data=Environment.getDataDirectory(); //获得data的路径
    StatFs data_stat=new StatFs(data.getPath()); //创建StatFs对象
    long data_blockSize=data_stat.getBlockSize(); //获取block的size
    float data_totalBlocks=data_stat.getBlockCount();//获取block的个数
    int data_sizeInMb=(int)(data_blockSize*data_totalBlocks)/1024/1024;//计算总容量
    long data_availableBlocks=data_stat.getAvailableBlocks(); //获取可用block的个数
    float data_percent=(int)(data_blockSize*data_availableBlocks)/1024/1024;//计算可用容量
    notice="FLASH使用情况:\n总容量:"+data_sizeInMb+"M.\n已用:"+(data_sizeInMb-data_percent+"\n可用:"+data_percent+"M.");
   
    if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
File filePath=Environment.getExternalStorageDirectory();    //获得sd 卡的路径
   
StatFs stat=new StatFs(filePath.getPath());                 //创建StatFs对象
long blockSize=stat.getBlockSize();                         //获取block的size
float totalBlocks=stat.getBlockCount();                     //获取block的个数
int sizeInMb =(int)(blockSize*totalBlocks)/1024/1024;       //计算总容量
long availableBlocks=stat.getAvailableBlocks();             //可用block的个数
float percent=(int)(blockSize*availableBlocks)/1024/1024;              //计算可用容量

notice=notice+"\nSD卡使用情况:\n总容量:"+sizeInMb+"M.\n已用:"+(sizeInMb-percent+"M\n可用:"+percent+"M.");
return notice;
}
else{
notice=notice+"\nSD卡使用情况:未插入SD卡";
return notice;
}


     }
}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值