首页 > 解决方案 > 将字节转换为可读值的框架

问题描述

我有一个来自数据类型 long 的 Java 变量,其中包含文件的大小(以字节为单位)。我想以人类可读的方式显示文件的大小:

  1. 当大小至少为 1GB 时,以 GB 为单位显示大小,否则第 2 步
  2. 当大小至少为 1MB 时,以 MB 为单位显示大小,否则第 3 步
  3. 当大小至少为 1KB 时,以 KB 显示大小

可以对此进行编程,但我想知道是否已经存在提供此功能的 Java 框架?

例如我有一个变量:

long bytes = 1024L;

我想将其打印为字符串:“1 KB”。

标签: java

解决方案


您可能想查看 Apache Commons FileUtils.byteCountToDisplaySize(long)。它处理 a 的所有可能(非负)值long

用法:

import org.apache.commons.io.FileUtils;

long fileSizeBytes = ...;
FileUtils.byteCountToDisplaySize(fileSizeBytes);

推荐阅读