问题小结(7)-sd卡和/data分区使用情况检测

来源:互联网 发布:离婚率数据 编辑:程序博客网 时间:2024/06/05 15:44

用来获取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的sizefloat 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;}     }}


 

原创粉丝点击