diff --git a/common/src/main/java/bisq/common/util/Utilities.java b/common/src/main/java/bisq/common/util/Utilities.java index 426dcb162b..a2b90f816e 100644 --- a/common/src/main/java/bisq/common/util/Utilities.java +++ b/common/src/main/java/bisq/common/util/Utilities.java @@ -40,6 +40,8 @@ import javafx.scene.input.KeyCodeCombination; import javafx.scene.input.KeyCombination; import javafx.scene.input.KeyEvent; +import java.text.DecimalFormat; + import java.net.URI; import java.net.URISyntaxException; @@ -523,4 +525,11 @@ public class Utilities { return t -> map.putIfAbsent(keyExtractor.apply(t), Boolean.TRUE) == null; } + public static String readableFileSize(long size) { + if (size <= 0) return "0"; + String[] units = new String[]{"B", "kB", "MB", "GB", "TB"}; + int digitGroups = (int) (Math.log10(size) / Math.log10(1024)); + return new DecimalFormat("#,##0.###").format(size / Math.pow(1024, digitGroups)) + " " + units[digitGroups]; + } + }