[JAVA] 바이트(Byte)를 용량 단위에 맞게 환산하기

[JAVA] 바이트(Byte)를 용량 단위에 맞게 환산하기

/**
     * 바이트(Byte)를 용량 단위에 맞게 환산하기
     *
     * @param strSize
     * @return
     */

    private String getSizeString(String strSize) {
        if (strSize == null || strSize.length() == 0) {
            return “0B”;
        }

        long nSize = 0;
        String resultSize = “”;

        try {
            nSize = Long.parseLong(strSize);

            DecimalFormat df = new DecimalFormat(“#,###.##”);

            String[] arrUnit = {“B”, “KB”, “MB”, “GB”, “TB”, “PB”};
            long nUnit = 1024;
            long nSection = 1;
            for (int i=0; i<6; i++) {
                if (nSize < nSection * nUnit) {
                    resultSize = df.format(nSize * 1.0 / nSection) + arrUnit[i];
                    break;
                }

                nSection *= nUnit;
            }

        } catch (NumberFormatException e) {
            resultSize = strSize + “B”;

        } catch (Exception e) {
            resultSize = strSize + “B”;
        }

        if (resultSize == null || resultSize.length() == 0) {
            resultSize = strSize + “B”;
        }

        return resultSize;
    }