if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))
{//判断存储卡是否插入
File path=Environment.getExternalStorageDirectory();//获取路径
StatFs sf=new StatFs(path.getPath());//创建StatFs对象
long size=sf.getBlockSize();//SD卡单位大小
long total=sf.getBlockCount();//总数量
long available=sf.getAvailableBlocks();//可使用的数量
DecimalFormat df=new DecimalFormat();//创建对象
df.setGroupingSize(3);//每3位分为一组
String totalSize=(size*total)/1024>=1024?//总容量
df.format((((size*total)/1024)/1024))+"MB":
df.format((size*total)/1024)+"KB";
String availableSize=(size*available)/1024>=1024?//未使用量
df.format((((size*available)/1024)/1024))+"MB":
df.format((size*available)/1024)+"KB";
String usedSize=(size*(total-available))/1024>=1024?//已使用量
df.format((((size*(total-available))/1024)/1024))+"MB":

}else if(Environment.getExternalStorageState().equals(Environment.MEDIA_REMOVED))
{//SD卡已移除
etTotal.setText(0);//总容量
etUsed.setText(0);//已使用量
etAvailable.setText(0);//未使用量