安卓工具类------>SD卡相关的辅助类
2015-02-06 17:41
471 查看
import java.io.File; import android.os.Environment; import android.os.StatFs; //SD卡相关的辅助类 public class SDCardUtils { private SDCardUtils() { /* cannot be instantiated */ throw new UnsupportedOperationException("cannot be instantiated"); } /** * 判断SDCard是否可用 * * @return */ public static boolean isSDCardEnable() { return Environment.getExternalStorageState().equals( Environment.MEDIA_MOUNTED); } /** * 获取SD卡路径 * * @return */ public static String getSDCardPath() { return Environment.getExternalStorageDirectory().getAbsolutePath() + File.separator; } /** * 获取SD卡的剩余容量 单位byte * * @return */ public static long getSDCardAllSize() { if (isSDCardEnable()) { StatFs stat = new StatFs(getSDCardPath()); // 获取空闲的数据块的数量 long availableBlocks = (long) stat.getAvailableBlocks() - 4; // 获取单个数据块的大小(byte) long freeBlocks = stat.getAvailableBlocks(); return freeBlocks * availableBlocks; } return 0; } /** * 获取指定路径所在空间的剩余可用容量字节数,单位byte * * @param filePath * @return 容量字节 SDCard可用空间,内部存储可用空间 */ public static long getFreeBytes(String filePath) { // 如果是sd卡的下的路径,则获取sd卡可用容量 if (filePath.startsWith(getSDCardPath())) { filePath = getSDCardPath(); } else {// 如果是内部存储的路径,则获取内存存储的可用容量 filePath = Environment.getDataDirectory().getAbsolutePath(); } StatFs stat = new StatFs(filePath); long availableBlocks = (long) stat.getAvailableBlocks() - 4; return stat.getBlockSize() * availableBlocks; } /** * 获取系统存储路径 * * @return */ public static String getRootDirectoryPath() { return Environment.getRootDirectory().getAbsolutePath(); } }
相关文章推荐
- 安卓工具类------>获得屏幕相关的辅助类
- 安卓工具类------>常用单位转换的辅助类
- 安卓工具类------->跟网络相关的工具类
- 安卓工具类-------->打开或关闭软键盘
- 安卓工具类------->Logcat统一管理类
- 安卓工具类------->Http请求的工具类
- 安卓工具类------->SharedPreferences
- 安卓工具类------->ToolFor9Ge
- 安卓工具类-------->Toast统一管理类
- 安卓工具类------->AppUtils.java
- 黑马程序员 Java基础<八>---> 集合-工具类
- #include <string.h>与'string' : undeclared identifier相关问题
- 扫描SD卡异步任务new AsyncTask<Integer, Integer, String>()
- 程序员_Java基础之<八>-Map集合、集合工具类
- <action>标签中的相关属性
- <为知更新>Preference的 相关类 及 常用方法
- c++日期和时间相关操作-<time.h>(ctime)
- STM32存储器 — <2>STM32存储器知识的相关应用(IAP、Bit Banding)
- 相关 /dev/null 2>&1 详解
- ubuntu 安装过程中相关问题<不断更新>