wordpress制作商城郑州纯手工seo
wordpress制作商城,郑州纯手工seo,义乌网站建设方式,网站开发系统学习问题#xff1a;在Java里怎将字节数转换为我们可以读懂的格式#xff1f;
在Java里怎将字节数转换为我们可以读懂的格式
像1024应该变成1 Kb#xff0c;而1024*1024应该变成1 Mb.
我很讨厌为每个项目都写一个工具方法。在Apache Commons有没有这…问题在Java里怎将字节数转换为我们可以读懂的格式
在Java里怎将字节数转换为我们可以读懂的格式
像1024应该变成1 Kb而1024*1024应该变成1 Mb.
我很讨厌为每个项目都写一个工具方法。在Apache Commons有没有这样的一个静态方法呢
回答一
有趣的事情这里上传的源代码片段是整个Stack Overflow最多人复制的但是是有错误的。虽然被修复了但是已经很混乱了。
这篇文章的完整故事在Stack Overflow被复制次数最多的代码片段是有错误的。
SI (1 k 1,000)
public static String humanReadableByteCountSI(long bytes) {if (-1000 bytes bytes 1000) {return bytes B;}CharacterIterator ci new StringCharacterIterator(kMGTPE);while (bytes -999_950 || bytes 999_950) {bytes / 1000;ci.next();}return String.format(%.1f %cB, bytes / 1000.0, ci.current());
}Binary (1 Ki 1,024)
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;ci.next();}value * Long.signum(bytes);return String.format(%.1f %ciB, value / 1024.0, ci.current());
}Example output: SI BINARY0: 0 B 0 B27: 27 B 27 B999: 999 B 999 B1000: 1.0 kB 1000 B1023: 1.0 kB 1023 B1024: 1.0 kB 1.0 KiB1728: 1.7 kB 1.7 KiB110592: 110.6 kB 108.0 KiB7077888: 7.1 MB 6.8 MiB452984832: 453.0 MB 432.0 MiB28991029248: 29.0 GB 27.0 GiB1855425871872: 1.9 TB 1.7 TiB9223372036854775807: 9.2 EB 8.0 EiB (Long.MAX_VALUE)回答二 private String bytesIntoHumanReadable(long bytes) {long kilobyte 1024;long megabyte kilobyte * 1024;long gigabyte megabyte * 1024;long terabyte gigabyte * 1024;if ((bytes 0) (bytes kilobyte)) {return bytes B;} else if ((bytes kilobyte) (bytes megabyte)) {return (bytes / kilobyte) KB;} else if ((bytes megabyte) (bytes gigabyte)) {return (bytes / megabyte) MB;} else if ((bytes gigabyte) (bytes terabyte)) {return (bytes / gigabyte) GB;} else if (bytes terabyte) {return (bytes / terabyte) TB;} else {return bytes Bytes;}
}文章翻译自Stack Overflowhttps://stackoverflow.com/questions/3758606/how-can-i-convert-byte-size-into-a-human-readable-format-in-java
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/92591.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!