This commit is contained in:
Looly 2020-07-16 12:02:55 +08:00
parent d70687d20d
commit 1cc66f086e
3 changed files with 27 additions and 2 deletions

View File

@ -16,7 +16,7 @@ public class DataSizeUtil {
* @param text 数据大小字符串类似于12KB, 5MB等 * @param text 数据大小字符串类似于12KB, 5MB等
* @return bytes大小 * @return bytes大小
*/ */
public long parse(String text) { public static long parse(String text) {
return DataSize.parse(text).toBytes(); return DataSize.parse(text).toBytes();
} }

View File

@ -1,5 +1,7 @@
package cn.hutool.core.io.unit; package cn.hutool.core.io.unit;
import cn.hutool.core.util.StrUtil;
/** /**
* 数据单位封装<p> * 数据单位封装<p>
* 此类来自于Spring-framework * 此类来自于Spring-framework
@ -69,7 +71,8 @@ public enum DataUnit {
*/ */
public static DataUnit fromSuffix(String suffix) { public static DataUnit fromSuffix(String suffix) {
for (DataUnit candidate : values()) { for (DataUnit candidate : values()) {
if (candidate.suffix.equalsIgnoreCase(suffix)) { // 支持类似于 3MB3M3m等写法
if (StrUtil.startWithIgnoreCase(candidate.suffix, suffix)) {
return candidate; return candidate;
} }
} }

View File

@ -0,0 +1,22 @@
package cn.hutool.core.io.unit;
import org.junit.Assert;
import org.junit.Test;
public class DataSizeUtilTest {
@Test
public void parseTest(){
long parse = DataSizeUtil.parse("3M");
Assert.assertEquals(3145728, parse);
parse = DataSizeUtil.parse("3m");
Assert.assertEquals(3145728, parse);
parse = DataSizeUtil.parse("3MB");
Assert.assertEquals(3145728, parse);
parse = DataSizeUtil.parse("3mb");
Assert.assertEquals(3145728, parse);
}
}