引用方法法如下:
private String str_sdcard = "/sdcard" ;
Long sd_all_size = FileFolder_All_Size(str_sdcard);
double size2 = internal_all_size / 1024.0 ;
String sdcardstr = String .format("%.2f",size2);
public longFileFolder_All_Size(String path)
{
File pathFile = new File(path); // 取得sdcard文件路径
android.os.StatFs statfs = newandroid.os.StatFs(pathFile.getPath());
long nTotalBlocks = statfs.getBlockCount(); // 获取SDCard上BLOCK总数
long nBlocSize = statfs.getBlockSize(); // 获取SDCard上每个block的SIZE
long nAvailaBlock = statfs.getAvailableBlocks(); // 获取可供程序使用的Block的数量
long nFreeBlock = statfs.getFreeBlocks(); // 获取剩下的所有Block的数量(包括预留的一般程序无法使用的块)
long nSDTotalSize = nTotalBlocks * nBlocSize / 1024 / 1024; // 计算SDCard 总容量大小MB
return nSDTotalSize;
}
public longFileFolder_Free_Size(String path)
{
File pathFile = new File(path); // 取得sdcard文件路径
android.os.StatFs statfs = new android.os.StatFs(pathFile.getPath());
long nTotalBlocks = statfs.getBlockCount(); // 获取SDCard上BLOCK总数
long nBlocSize = statfs.getBlockSize(); // 获取SDCard上每个block的SIZE
long nAvailaBlock = statfs.getAvailableBlocks(); // 获取可供程序使用的Block的数量
long nFreeBlock = statfs.getFreeBlocks(); // 获取剩下的所有Block的数量(包括预留的一般程序无法使用的块)
long nSDFreeSize = nAvailaBlock * nBlocSize / 1024 / 1024; // 计算 SDCard 剩余大小MB
return nSDFreeSize;
}
public longFileFolder_Used_Size(String path)
{
File pathFile = new File(path); // 取得sdcard文件路径
android.os.StatFs statfs = newandroid.os.StatFs(pathFile.getPath());
long nTotalBlocks = statfs.getBlockCount(); // 获取SDCard上BLOCK总数
long nBlocSize = statfs.getBlockSize(); // 获取SDCard上每个block的SIZE
long nAvailaBlock = statfs.getAvailableBlocks(); // 获取可供程序使用的Block的数量
long nFreeBlock = statfs.getFreeBlocks(); // 获取剩下的所有Block的数量(包括预留的一般程序无法使用的块)
long nSDFreeSize = nAvailaBlock * nBlocSize / 1024 / 1024; // 计算 SDCard 剩余大小MB
long nSDTotalSize = nTotalBlocks * nBlocSize / 1024 / 1024; // 计算SDCard 总容量大小MB
return nSDTotalSize - nSDFreeSize;
//return FileFolder_All_Size(path) - FileFolder_Free_Size(path) ; //用这个方法不太好,最好用没有注掉的code,且也可以弄两个变量一减不用函数
}
public boolean Sdcard_Exsit()
{
boolean ret = false ;
String sDcString = android.os.Environment.getExternalStorageState();
if(sDcString.equals(android.os.Environment.MEDIA_MOUNTED)) {
ret = true ;
}
return ret;
}
源地址:http://blog.renren.com/GetEntry.do?id=740412748&owner=220879091