Java Size Format formatByteSize(long bytes)

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

Description

Returns a formatted string using an appropriate unit (Bytes, KB or MB).

License

Apache License

Declaration

public static String formatByteSize(long bytes) 

Method Source Code

//package com.java2s;
/* Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.//ww w  . ja va  2s .c om
 */

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

public class Main {
    private static NumberFormat numberFormat = new DecimalFormat("0.#");

    /**
     * Returns a formatted string using an appropriate unit (Bytes, KB or MB).
     */
    public static String formatByteSize(long bytes) {
        if (bytes < 1024) {
            return numberFormat.format(bytes) + " Bytes";
        }
        float kb = (float) bytes / 1024;
        if (kb < 1024) {
            return numberFormat.format(kb) + " KB";
        }
        float mb = kb / 1024;
        return numberFormat.format(mb) + " MB";
    }
}

Related

  1. format(long size)
  2. formatBinarySize(final long l)
  3. formatBytes(double size)
  4. formatBytes(long size)
  5. formatDataSize(final double dataSize)
  6. formatDataSize(long bytes)
  7. formatDecimal(double size)
  8. formatDiskSize(final long diskSize)