现在的位置: 首页 > 综合 > 正文

Android 获取SD卡容量

2018年04月19日 ⁄ 综合 ⁄ 共 858字 ⁄ 字号 评论关闭
// 取得SDCard当前的状态   
    String sDcString =android.os.Environment.getExternalStorageState();  
     
    if(sDcString.equals(android.os.Environment.MEDIA_MOUNTED)) {  
     
    // 取得sdcard文件路径  
    File pathFile =android.os.Environment.getExternalStorageDirectory();  
     
    android.os.StatFs statfs= new android.os.StatFs(pathFile.getPath());  
     
    // 获取SDCard上BLOCK总数  
    long nTotalBlocks =statfs.getBlockCount();   
     
    // 获取SDCard上每个block的SIZE  
    long nBlocSize =statfs.getBlockSize();   
     
    // 获取可供程序使用的Block的数量  
    long nAvailaBlock =statfs.getAvailableBlocks();  
     
    //获取剩下的所有Block的数量(包括预留的一般程序无法使用的块)  
    long nFreeBlock =statfs.getFreeBlocks();   
     
    // 计算SDCard 总容量大小MB  
    long nSDTotalSize =nTotalBlocks * nBlocSize / 1024 / 1024;  
     
    // 计算 SDCard 剩余大小MB  
    long nSDFreeSize =nAvailaBlock * nBlocSize / 1024 / 1024;  
   
    return "SDCard总容量:"+nSDTotalSize+" MB"+" 剩余:"+nSDFreeSize+" MB";
   
    } else{
    //"SDCard 不存在";
    }

抱歉!评论已关闭.