Java字节单位转换和humanreadable工具

本文介绍了一个Java工具类ByteUnitFormat,用于处理字节单位转换及生成可读的字节单位显示,如B到M、M到G的转换,以及将字节数转换为如1024B->1M的人类可读形式。文章探讨了在系统中常见的字节单位转换需求,并提供了一个实用的解决方案。

Java字节单位转换和humanreadable工具

使用场景

系统中有很多字节单位单位转换,比如B->M,M->G等,而且有场景使用类似ll -h这种操作,把一个字节单位转换为可读的显示方式,比如1024B->1M。

com.google.guava:guava包中的CaseFormat类的启发,决定写一个ByteUnitFormat类,专门用于转换字节单位或生成可读的字节单位。

代码

clyoudu-util

使用方法

public static void main(String[] args) {
    System.out.println(B.to(K, 1024L, ByteUnitFormat.Rate.SI));
    System.out.println(B.to(K, 1024L, ByteUnitFormat.Rate.IEC));
    System.out.println(M.to(G, 4096L, ByteUnitFormat.Rate.IEC));
    System.out.println(M.to(G, 4096L));
    System.out.println(B.humanReadable(174541987L));
    System.out.println(M.humanReadable(1024L));
}
/**
 * 1.02K
 * 1K
 * 4G
 * 4G
 * 166.5M
 * 1G
 */

其它

SI:国际单位制(法语:Système International d’Unités 符号:SI),进率1000;
IEC:国际电工委员会单位制,进率1024。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值