Преобразование размера в байтах в более читаемый формат, такой как килобайты (Kb), мегабайты (Mb), гигабайты (Gb) и т.д., является распространенной задачей в программировании. Допустим, есть файл размером 12345678 байт. Для человека этот номер сложно воспринять, и было бы намного удобнее, если бы его можно было представить, например, как «11.77 Mb».
Часто разработчики создают специальные утилитарные методы для решения этой задачи в каждом новом проекте. Однако, в Java для этого можно использовать уже готовые решения.
Одно из мест, где можно найти подходящий метод, — это библиотека Apache Commons. Эта библиотека содержит множество полезных утилитарных классов, включая класс FileUtils
, который имеет статический метод byteCountToDisplaySize(long size)
. Этот метод преобразует число байт в удобочитаемый формат, используя следующие суффиксы: EB, PB, TB, GB, MB, KB и bytes.
Сначала вам нужно добавить Apache Commons IO в ваш проект. Если вы используете Maven, вы можете сделать это, добавив следующую зависимость в ваш pom.xml:
<dependency> <groupId>commons-io</groupId> <artifactId>commons-io</artifactId> <version>2.8.0</version> </dependency>
Затем вы можете использовать метод byteCountToDisplaySize
следующим образом:
long fileSizeInBytes = 12345678; String humanReadableSize = FileUtils.byteCountToDisplaySize(fileSizeInBytes); System.out.println(humanReadableSize); // вывод: "11 MB"
Как видите, преобразование размера в байтах в удобочитаемый формат в Java может быть выполнено довольно просто с использованием существующих библиотек, таких как Apache Commons.
Добавить комментарий