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;
}
}