package coolbuy360.service;
import java.io.File;
import android.os.Environment;
public class SdcardService {
/**
* �ж�SD���Ƿ����
*/
public static boolean hasSdcard() {
String status = Environment.getExternalStorageState();
if (status.equals(Environment.MEDIA_MOUNTED)) {
return true;
} else {
return false;
}
}
/**
* �ж�sdcard�ܴ�С
*
* @param sdcard��·��
* @return �����ܴ�С private String sdcard_path = "/sdcard" ; Long sdcardAllSize
* = sdcardAllSize(sdcard_path);
*/
public long sdcardAllSize(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 nSDTotalSize = nTotalBlocks * nBlocSize / 1024 / 1024; // ����SDCard
// ��������СMB
return nSDTotalSize;
}
/**
* �ж�sdcardʣ���С
*
* @param sdcard��·��
* @return �����ܴ�С private String sdcard_path = "/sdcard" ; Long
* sdcardFreeSize = sdcardFreeSize(sdcard_path);
*/
public long sdcardFreeSize(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;
}
/**
* �ж�sdcard�Ѿ�ʹ�ô�С
*
* @param sdcard��·��
* @return �����ܴ�С private String sdcard_path = "/sdcard" ; Long
* sdcardUsedSize = sdcardUsedSize(sdcard_path);
*/
public long sdcardUsedSize(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
long nSDTotalSize = nTotalBlocks * nBlocSize / 1024 / 1024; // ����SDCard
// ��������СMB
return nSDTotalSize - nSDFreeSize;
// return FileFolder_All_Size(path) - FileFolder_Free_Size(path) ;
// //�����������̫�ã������û��ע����code����Ҳ����Ū��������һ�����ú���
}
}