Java Size Format formatDiskSize(final long diskSize)

Here you can find the source of formatDiskSize(final long diskSize)

Description

format Disk Size

License

Open Source License

Declaration

public static String formatDiskSize(final long diskSize) 

Method Source Code

//package com.java2s;
/*//from   ww  w.j av  a2s  . c o  m
 * Password Management Servlets (PWM)
 * http://www.pwm-project.org
 *
 * Copyright (c) 2006-2009 Novell, Inc.
 * Copyright (c) 2009-2017 The PWM Project
 *
 * 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., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
 */

import java.text.NumberFormat;

public class Main {
    public static String formatDiskSize(final long diskSize) {
        final float COUNT = 1000;
        if (diskSize < 1) {
            return "n/a";
        }

        if (diskSize == 0) {
            return "0";
        }

        final NumberFormat nf = NumberFormat.getInstance();
        nf.setMaximumFractionDigits(2);

        if (diskSize > COUNT * COUNT * COUNT) {
            final StringBuilder sb = new StringBuilder();
            sb.append(nf.format(diskSize / COUNT / COUNT / COUNT));
            sb.append(" GB");
            return sb.toString();
        }

        if (diskSize > COUNT * COUNT) {
            final StringBuilder sb = new StringBuilder();
            sb.append(nf.format(diskSize / COUNT / COUNT));
            sb.append(" MB");
            return sb.toString();
        }

        return NumberFormat.getInstance().format(diskSize) + " bytes";
    }
}

Related

  1. formatBytes(long size)
  2. formatByteSize(long bytes)
  3. formatDataSize(final double dataSize)
  4. formatDataSize(long bytes)
  5. formatDecimal(double size)
  6. formatFileSize(double fileSize, int precision, int unit, boolean showUnit)
  7. formatFileSize(File file)
  8. formatFilesize(final long filesize, final Locale locale)
  9. formatFilesize(int s)