From d0f37fe46046d4b41995445d80b6596dd87d8098 Mon Sep 17 00:00:00 2001 From: Looly Date: Fri, 5 Mar 2021 20:25:21 +0800 Subject: [PATCH] fix dta size bug --- CHANGELOG.md | 1 + .../src/main/java/cn/hutool/core/io/unit/DataUnit.java | 4 ++-- .../java/cn/hutool/core/io/unit/DataSizeUtilTest.java | 10 ++++++++-- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4c888ca19..15a28fb9c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ ### Bug修复 * 【socket 】 修复Client创建失败资源未释放问题。 +* 【core 】 修复DataSizeUtil中EB单位错误问题(issue#I39O7I@Gitee) ------------------------------------------------------------------------------------------------------------- diff --git a/hutool-core/src/main/java/cn/hutool/core/io/unit/DataUnit.java b/hutool-core/src/main/java/cn/hutool/core/io/unit/DataUnit.java index 3133fdbf8..6a95b8dc0 100644 --- a/hutool-core/src/main/java/cn/hutool/core/io/unit/DataUnit.java +++ b/hutool-core/src/main/java/cn/hutool/core/io/unit/DataUnit.java @@ -44,7 +44,7 @@ public enum DataUnit { */ TERABYTES("TB", DataSize.ofTerabytes(1)); - public static final String[] UNIT_NAMES = new String[]{"B", "kB", "MB", "GB", "TB", "EB"}; + public static final String[] UNIT_NAMES = new String[]{"B", "kB", "MB", "GB", "TB", "PB", "EB"}; private final String suffix; @@ -77,4 +77,4 @@ public enum DataUnit { throw new IllegalArgumentException("Unknown data unit suffix '" + suffix + "'"); } -} \ No newline at end of file +} diff --git a/hutool-core/src/test/java/cn/hutool/core/io/unit/DataSizeUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/io/unit/DataSizeUtilTest.java index 2baeaf34c..dcdc60057 100644 --- a/hutool-core/src/test/java/cn/hutool/core/io/unit/DataSizeUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/io/unit/DataSizeUtilTest.java @@ -51,7 +51,13 @@ public class DataSizeUtilTest { @Test public void formatTest(){ - final String format = DataSizeUtil.format(Long.MAX_VALUE); - Assert.assertEquals("8,192 EB", format); + String format = DataSizeUtil.format(Long.MAX_VALUE); + Assert.assertEquals("8 EB", format); + + format = DataSizeUtil.format(1024L * 1024 * 1024 * 1024 * 1024); + Assert.assertEquals("1 PB", format); + + format = DataSizeUtil.format(1024L * 1024 * 1024 * 1024); + Assert.assertEquals("1 TB", format); } }