티스토리 뷰

마운트된 메모리(외부SD카드메모리포함)의 전체용량과 가용메모리를 구하는 함수이다.

이와 더불어 용량이 얼마인지 표식(KB,MB,GB...)으로 볼 수 있는 함수를 추가하였다.



* 전체사이즈

    static public long getTotalMountSize(String mountPath){

        File path = new File(mountPath);

        StatFs stat = new StatFs(path.getPath());  

        long blockSize = stat.getBlockSize();  

        long totalBlocks = stat.getBlockCount();  

        return totalBlocks * blockSize; 

    }

    

*가용사이즈

    static public long getAvailableMountSize(String mountPath){

        File path = new File(mountPath);

        StatFs stat = new StatFs(path.getPath());  

        long blockSize = stat.getBlockSize();  

        long availableBlocks = stat.getAvailableBlocks();  

        return availableBlocks * blockSize;  

    }

    

*표식

    static public String format(double bytesSize) {  

    int unit = 1024;

    if (bytesSize < unit) return bytesSize + " B";

    int exp = (int) (Math.log(bytesSize) / Math.log(unit));

    String pre = "KMGTPE".charAt(exp-1)+"";

    return String.format("%.2f %sB", bytesSize / Math.pow(unit, exp), pre);

    }

댓글