Java Number Format Pattern formatBytes(long bytes)

Here you can find the source of formatBytes(long bytes)

Description

format Bytes

License

Open Source License

Parameter

Parameter Description
bytes Number of bytes

Return

String containing size and unit in sensible units

Declaration

public static String formatBytes(long bytes) 

Method Source Code


//package com.java2s;
/* Copyright (C) 2007 The Open University
    /* w  ww  .j av  a  2s.co m*/
   This program is free software; you can redistribute it and/or
   modify it under the terms of the GNU General Public License
   as published by the Free Software Foundation; either version 2
   of the License, or (at your option) any later version.
    
   This program is distributed in the hope that it will be useful,
   but WITHOUT ANY WARRANTY; without even the implied warranty of
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
   GNU General Public License for more details.
    
   You should have received a copy of the GNU General Public License
   along with this program; if not, write to the Free Software
   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
 */

import java.text.DecimalFormat;
import java.text.NumberFormat;

public class Main {
    /** Format used for numbers to one DP. */
    private static final NumberFormat ONEDP = new DecimalFormat("#########0.0");

    /**
     * @param bytes Number of bytes
     * @return String containing size and unit in sensible units
     */
    public static String formatBytes(long bytes) {
        if (bytes < 1024L) {
            return bytes + " bytes";
        }
        if (bytes < 1024L * 1024L) {
            return formatOneDecimal(bytes, 1024L) + " KB";
        }
        if (bytes < 1024L * 1024L * 1024L) {
            return formatOneDecimal(bytes, 1024L * 1024L) + " MB";
        }
        return formatOneDecimal(bytes, 1024L * 1024L * 1024L) + " GB";
    }

    /**
     * @param bytes Number of bytes
     * @return String containing size and unit in sensible units
     */
    public static String formatBytes(int bytes) {
        return formatBytes((long) bytes);
    }

    /**
     * @param iNumber
     * @param iDivisor
     * @return a string that is iNumber/iDivisor to one DP.
     */
    public static String formatOneDecimal(int iNumber, int iDivisor) {
        if (iDivisor == 0) {
            return "??";
        }
        return formatOneDecimal(iNumber / (double) iDivisor);
    }

    /**
     * @param iNumber
     * @param iDivisor
     * @return a string that is iNumber/iDivisor to one DP.
     */
    public static String formatOneDecimal(long iNumber, long iDivisor) {
        if (iDivisor == 0) {
            return "??";
        }
        return formatOneDecimal(iNumber / (double) iDivisor);
    }

    /**
    * @param dNumber
    * @return Formats the number to one DP.
    */
    public static String formatOneDecimal(double dNumber) {
        return ONEDP.format(dNumber);
    }
}

Related

  1. formatAmtByComma(String amt, int len)
  2. formatBigNumber(long value)
  3. formatBitRate(long bytes)
  4. formatBytes(long bytes)
  5. formatBytes(long bytes)
  6. formatBytes(long bytes)
  7. formatBytes(long numBytes)
  8. formatDashboardNumber(Number amount)
  9. formatDisplay(String displayString)