Android——SD卡工具类——SDCardUtils.java
2016-08-15 09:59
423 查看
package com.xdsjs.save.utils; /** * SD卡相关的辅助类 * Created by xdsjs on 2015/10/13. */ import java.io.File; import android.os.Environment; import android.os.StatFs; 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 = stat.getAvailableBlocks(); // 获取单个数据块的大小(byte) long blockSize = stat.getBlockSize(); return blockSize * 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(); } }
相关文章推荐
- KeyBoardUtils.java——android键盘工具类
- Android中使用Socket来实现服务器端和客户端,进行数据通信(使用原生Socket)
- 5个最佳的Android测试框架(带示例)
- Kotlin开发Android笔记11:Kotlin中属性委托
- Android FloatingActionButton 重要的操作不要太多,一个就好
- Android Studio导出APK
- Android中AlarmManager基本用法分析
- android 链接
- Android几种常见的内存泄漏
- Android应用性能优化——分割线留白解决之道
- Android 6.0 运行时权限处理
- Ubuntu14.04下载&编译Android(2)
- 自定义Android Studio方法注释模板
- ANDROID代码实现APK文件的安装与卸载
- Android代码中获取Logcat日志信息
- dagger2入门
- 1203 - 数据存储 - 应用安装位置
- 【Android Studio】在Android Studio上进行OpenCV 3.1开发
- 我的自学方法总结
- [FAQ11414]android KK 4.4 版本后,user 版本su 权限严重被限制问题说明