20110406_xMhW  
想計算SDCard大小和使用方式時, 只需要得到SD卡總共擁有的Block數或是剩餘沒用的Block數,再乘以每個Block的大小就是相應的容量大小了單位byte.(見代碼)

JAVA代碼

public void SDCardSizeTest() {

// 取得SDCard當前的狀態

String sDcString = android.os.Environment.getExternalStorageState();

if (sDcString.equals(android.os.Environment.MEDIA_MOUNTED)) {

// 取得sdcard檔路徑

File pathFile = android.os.Environment

.getExternalStorageDirectory();

android.os.StatFs statfs = new android.os.StatFs(pathFile.getPath());

// 獲取SDCard上BLOCK總數

long nTotalBlocks = statfs.getBlockCount();

// 獲取SDCard上每個block的SIZE

long nBlocSize = statfs.getBlockSize();

// 獲取可供程式使用的Block的數量

long nAvailaBlock = statfs.getAvailableBlocks();

// 獲取剩下的所有Block的數量(包括預留的一般程式無法使用的塊)

long nFreeBlock = statfs.getFreeBlocks();

// 計算SDCard 總容量大小MB

long nSDTotalSize = nTotalBlocks * nBlocSize / 1024 / 1024;

// 計算 SDCard 剩餘大小MB

long nSDFreeSize = nAvailaBlock * nBlocSize / 1024 / 1024;

}// end of if

// end of func

轉載自:HTTP://crackren.javaeye.com/blog/747121



原文連結:HTTP://blog.csdn.net/zmyde2010/article/details/5938003
創作者介紹
創作者 shadow 的頭像
shadow

資訊園

shadow 發表在 痞客邦 留言(0) 人氣()