我们今天就来说说怎么样才能获取sd卡的路径还有剩余容量,这个对我们开发的时候很重要,因为这个真的很好,有了这个,我们就可以知道我的sd存放在什么位置了,从而不会因为删除文件,而把它删除掉了,当我们能查看剩余容量的时候,我们就知道了还可以存放多少东西。我们还是来看看代码吧。
Java代码:
/**
* 获取SdCard路径
*/
public static String getExternalStoragePath() {
// 获取SdCard状态
String state = android.os.Environment.getExternalStorageState();
// 判断SdCard是否存在并且是可用的
if (android.os.Environment.MEDIA_MOUNTED.equals(state)) {
if (android.os.Environment.getExternalStorageDirectory().canWrite()) {
return android.os.Environment.getExternalStorageDirectory().getPath();
}
}
return null;
}
/**
* 获取存储卡的剩余容量,单位为字节
* @param filePath
* @return availableSpare
*/
public static long getAvailableStore(String filePath) {
// 取得sdcard文件路径
StatFs statFs = new StatFs(filePath);
// 获取block的SIZE
long blocSize = statFs.getBlockSize();
// 获取BLOCK数量
long totalBlocks = statFs.getBlockCount();
// 可使用的Block的数量
long availaBlock = statFs.getAvailableBlocks();
long total = totalBlocks * blocSize;
long availableSpare = availaBlock * blocSize;
return availableSpare;
}
复制代码
大家一定要记住的是,第一个返回的是一个null,第二个我们返回的是availableSpare,可不要记错了哦。要是记错了,那效果可就出不来了。