Как преобразовать размер байта в человекочитаемый формат в Java? - PullRequest
488 голосов
/ 21 сентября 2010

Как преобразовать размер байта в понятный человеку формат в Java? Как 1024 должно стать "1 Кб", а 1024 * 1024 должно стать "1 Мб".

Мне надоело писать этот метод для каждого проекта. Есть ли в Apache Commons статические методы для этого?

Ответы [ 22 ]

0 голосов
/ 24 октября 2016

Вы пробовали JSR 363 ?Его модули расширения модулей, такие как Unicode CLDR (в GitHub: uom-systems ), сделают все это за вас.

Вы можете использовать MetricPrefix, включенный в каждую реализацию, или BinaryPrefix (сопоставимо с некоторыми из приведенных выше примеров), а если вы, например, живете и работаете в Индии или соседней стране, IndianPrefix (такжеобщий модуль uom-систем) позволяет использовать и форматировать "Crore Bytes" или "Lakh Bytes".

0 голосов
/ 08 апреля 2014
filename=filedilg.getSelectedFile().getAbsolutePath();
File file=new File(filename);

String disp=FileUtils.byteCountToDisplaySize(file.length());
System.out.println("THE FILE PATH IS "+file+"THIS File SIZE IS IN MB "+disp);
...