packagecom.orgcent.util;
importjava.io.File;
importandroid.os.Environment;
importandroid.os.StatFs;
publicclass MemoryStatus {
staticfinalint ERROR =-1;
/**
* 外部存储是否可用
* @return
*/
staticpublicboolean externalMemoryAvailable(){
return android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED);
}
/**
* 获取手机内部可用空间大小
* @return
*/
staticpubliclong getAvailableInternalMemorySize(){
File path =Environment.getDataDirectory();
StatFs stat =new StatFs(path.getPath());
long blockSize = stat.getBlockSize();
long availableBlocks = stat.getAvailableBlocks();
return availableBlocks * blockSize;
}
/**
* 获取手机内部空间大小
* @return
*/
staticpubliclong getTotalInternalMemorySize(){
File path =Environment.getDataDirectory();
StatFs stat =new StatFs(path.getPath());
long blockSize = stat.getBlockSize();
long totalBlocks = stat.getBlockCount();
return totalBlocks * blockSize;
}
/**
* 获取手机外部可用空间大小
* @return
*/
staticpubliclong getAvailableExternalMemorySize(){
if(externalMemoryAvailable()){
File path =Environment.getExternalStorageDirectory();
StatFs stat =new StatFs(path.getPath());
long blockSize = stat.getBlockSize();
long availableBlocks = stat.getAvailableBlocks();
return availableBlocks * blockSize;
}else{
return ERROR;
}
}
/**
* 获取手机外部空间大小
* @return
*/
staticpubliclong getTotalExternalMemorySize(){
if(externalMemoryAvailable()){
File path =Environment.getExternalStorageDirectory();
StatFs stat =new StatFs(path.getPath());
long blockSize = stat.getBlockSize();
long totalBlocks = stat.getBlockCount();
return totalBlocks * blockSize;
}else{
return ERROR;
}
}
staticpublicString formatSize(long size){
String suffix =null;
if(size >=1024){
suffix ="KiB";
size /=1024;
if(size >=1024){
suffix ="MiB";
size /=1024;
}
}
StringBuilder resultBuffer =new StringBuilder(Long.toString(size));
int commaOffset = resultBuffer.length()-3;
while(commaOffset >0){
resultBuffer.insert(commaOffset, ',');
commaOffset -=3;
}
if(suffix !=null)
resultBuffer.append(suffix);
return resultBuffer.toString();
}
}
Android中StatFs获取系统/sdcard存储(剩余空间)大小
最新推荐文章于 2019-04-13 10:13:29 发布