1. 程式人生 > 其它 >Android獲取SD卡總容量,可用大小,機身記憶體總容量及可用大小

Android獲取SD卡總容量,可用大小,機身記憶體總容量及可用大小

public long getSDTotalSize()
{
    /*獲取儲存卡路徑*/
    File sdcardDir= Environment.getExternalStorageDirectory();
    /*StatFs 看檔案系統空間使用情況*/
    StatFs statFs=new StatFs(sdcardDir.getPath());
    long blockSize= statFs.getBlockSizeLong();

    long totalSize=statFs.getBlockCountLong();

    return blockSize*totalSize;
}

    /**
     * 獲得sd卡剩餘容量,即可以大小
     * @return
     */
    public long getSdAvaliableSize()
    {
        File path=Environment.getExternalStorageDirectory();
        StatFs statFs=new StatFs(path.getPath());
        long blockSize=statFs.getBlockSizeLong();
        long availableBlocks=statFs.getAvailableBlocksLong();
        return blockSize*availableBlocks;
    }

    /**
     * 獲得機身記憶體大小
     * @return
     */
    public long getRomTotalSize()
    {
        File path=Environment.getDataDirectory();
        StatFs statFs=new StatFs(path.getPath());
        long blockSize=statFs.getBlockSizeLong();
        long tatalBlocks= statFs.getBlockCountLong();
     return blockSize*tatalBlocks;
    }

    /**
     * 獲得機身可用記憶體
     * @return
     */
    private long getRomAvailableSize()
    {
        File path=Environment.getDataDirectory();
        StatFs statFs=new StatFs(path.getPath());
        long blockSize=statFs.getBlockSizeLong();
        long availableBlocks=statFs.getAvailableBlocksLong();
        return blockSize*availableBlocks;
    }