美文网首页
Java 字节转人类可读形式

Java 字节转人类可读形式

作者: 司展超 | 来源:发表于2021-06-24 10:53 被阅读0次

    Java 字节转人类可读形式

    public static String humanReadableByteCountBin(long bytes) {
    long absB = bytes == Long.MIN_VALUE ? Long.MAX_VALUE : Math.abs(bytes);
    if (absB < 1024) {
    return bytes + " B";
    }
    long value = absB;
    CharacterIterator ci = new StringCharacterIterator("KMGTPE");
    for (int i = 40; i >= 0 && absB > 0xfffccccccccccccL >> i; i -= 10) {
    value >>= 10; //右移10位
    ci.next();
    }
    value *= Long.signum(bytes);
    return String.format("%.1f %ciB", value / 1024.0, ci.current());
    }

                              SI     BINARY
    
                   0:        0 B        0 B
                  27:       27 B       27 B
                 999:      999 B      999 B
                1000:     1.0 kB     1000 B
                1023:     1.0 kB     1023 B
                1024:     1.0 kB    1.0 KiB
                1728:     1.7 kB    1.7 KiB
              110592:   110.6 kB  108.0 KiB
             7077888:     7.1 MB    6.8 MiB
           452984832:   453.0 MB  432.0 MiB
         28991029248:    29.0 GB   27.0 GiB
       1855425871872:     1.9 TB    1.7 TiB
    9223372036854775807:  9.2 EB    8.0 EiB   (Long.MAX_VALUE)

    相关文章

      网友评论

          本文标题:Java 字节转人类可读形式

          本文链接:https://www.haomeiwen.com/subject/ssewyltx.html