package com.martin.simpledevelop.utils.sdcard; import java.io.File; import android.os.Environment; import android.os.StatFs; import com.martin.simpledevelop.utils.log.SaLogUtils; /** * @Description 内存卡 工具类<br> * @File SaSdcardUtils.java * @Package com.martin.simpledevelop.utils.sdcard * @Date 2015年6月26日上午1:23:35 * @Author Donghongyu 1358506549@qq.com * @Version v1.0.0 */ public class SaSdcardUtils { /** * Log 输出标签 */ public static String TAG = SaSdcardUtils.class.getName(); /** * 判断SDCard是否可用 * * @return */ public static boolean isSDCardEnable() { boolean result = Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED); if (result) SaLogUtils.i(TAG,"当前内存卡有效"); else SaLogUtils.i(TAG,"当前内存卡无效"); return result; } /** * 获取SD卡路径 * * @return */ public static String getSDCardPath() { String path = Environment.getExternalStorageDirectory() .getAbsolutePath() + File.separator; SaLogUtils.i(TAG,"当前内存卡路径" + path); return path; } /** * 获取SD卡的剩余容量 单位byte * * @return */ public static long getSDCardAllSize() { if (isSDCardEnable()) { StatFs stat = new StatFs(getSDCardPath()); // 获取空闲的数据块的数量 @SuppressWarnings("deprecation") long availableBlocks = (long) stat.getAvailableBlocks() - 4; // 获取单个数据块的大小(byte) @SuppressWarnings("deprecation") long freeBlocks = stat.getAvailableBlocks(); long result = freeBlocks * availableBlocks; SaLogUtils.i(TAG,"当前内存卡的容量:" + result); return result; } return 0; } /** * 获取系统存储路径 * * @return */ public static String getRootDirectoryPath() { String path = Environment.getRootDirectory().getAbsolutePath(); SaLogUtils.i(TAG,"当前存储路径:" + path); return path; } }