Package org.miaixz.bus.core.io.unit
Class DataSize
java.lang.Object
org.miaixz.bus.core.io.unit.DataSize
- All Implemented Interfaces:
Comparable<DataSize>
数据大小,可以将类似于'12MB'表示转换为bytes长度的数字 此类来自于:Spring-framework
byte 1B 1
kilobyte 1KB 1,024
megabyte 1MB 1,048,576
gigabyte 1GB 1,073,741,824
terabyte 1TB 1,099,511,627,776
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Method Summary
Modifier and TypeMethodDescriptionintbooleanstatic Stringformat(long size) inthashCode()boolean是否为负数,不包括0static DataSize获得指定DataUnit对应的DataSizestatic DataSizeof(BigDecimal amount, DataUnit unit) 获得指定DataUnit对应的DataSizestatic DataSizeofBytes(long bytes) 获得对应bytes的DataSizestatic DataSizeofGigabytes(long gigabytes) 获得对应gigabytes的DataSizestatic DataSizeofKilobytes(long kilobytes) 获得对应kilobytes的DataSizestatic DataSizeofMegabytes(long megabytes) 获得对应megabytes的DataSizestatic DataSizeofTerabytes(long terabytes) 获得对应terabytes的DataSizestatic DataSizeparse(CharSequence text) 获取指定数据大小文本对应的DataSize对象,如果无单位指定,默认获取DataUnit.BYTES例如:static DataSizeparse(CharSequence text, DataUnit defaultUnit) Obtain a DataSize from a text string such as12MBusing the specified defaultDataUnitif no unit is specified.static long获取指定数据大小文本对应的DataSize对象,如果无单位指定,默认获取DataUnit.BYTES例如:longtoBytes()返回bytes大小long返回GB大小long返回KB大小long返回MB大小toString()long返回TB大小
-
Method Details
-
ofBytes
获得对应bytes的DataSize- Parameters:
bytes- bytes大小,可正可负- Returns:
- this
-
ofKilobytes
获得对应kilobytes的DataSize- Parameters:
kilobytes- kilobytes大小,可正可负- Returns:
- a DataSize
-
ofMegabytes
获得对应megabytes的DataSize- Parameters:
megabytes- megabytes大小,可正可负- Returns:
- a DataSize
-
ofGigabytes
获得对应gigabytes的DataSize- Parameters:
gigabytes- gigabytes大小,可正可负- Returns:
- a DataSize
-
ofTerabytes
获得对应terabytes的DataSize- Parameters:
terabytes- terabytes大小,可正可负- Returns:
- a DataSize
-
of
获得指定DataUnit对应的DataSize- Parameters:
amount- 大小unit- 数据大小单位,null表示默认的BYTES- Returns:
- DataSize
-
of
获得指定DataUnit对应的DataSize- Parameters:
amount- 大小unit- 数据大小单位,null表示默认的BYTES- Returns:
- DataSize
-
parse
获取指定数据大小文本对应的DataSize对象,如果无单位指定,默认获取DataUnit.BYTES例如:"12KB" -- parses as "12 kilobytes" "5MB" -- parses as "5 megabytes" "20" -- parses as "20 bytes"
- Parameters:
text- the text to parse- Returns:
- the parsed DataSize
- See Also:
-
parse
获取指定数据大小文本对应的DataSize对象,如果无单位指定,默认获取DataUnit.BYTES例如:"12KB" -- parses as "12 kilobytes" "5MB" -- parses as "5 megabytes" "20" -- parses as "20 bytes"
- Parameters:
text- the text to parse- Returns:
- the parsed DataSize
- See Also:
-
parse
Obtain a DataSize from a text string such as12MBusing the specified defaultDataUnitif no unit is specified. The string starts with a number followed optionally by a unit matching one of the supported suffixes. Examples:"12KB" -- parses as "12 kilobytes" "5MB" -- parses as "5 megabytes" "20" -- parses as "20 kilobytes" (where the
defaultUnitisDataUnit.KILOBYTES)- Parameters:
text- the text to parsedefaultUnit- 默认的数据单位- Returns:
- the parsed DataSize
-
format
- Parameters:
size- Long类型大小- Returns:
- 大小
-
isNegative
public boolean isNegative()是否为负数,不包括0- Returns:
- 负数返回true,否则false
-
toBytes
public long toBytes()返回bytes大小- Returns:
- bytes大小
-
toKilobytes
public long toKilobytes()返回KB大小- Returns:
- KB大小
-
toMegabytes
public long toMegabytes()返回MB大小- Returns:
- MB大小
-
toGigabytes
public long toGigabytes()返回GB大小- Returns:
- GB大小
-
toTerabytes
public long toTerabytes()返回TB大小- Returns:
- TB大小
-
compareTo
- Specified by:
compareToin interfaceComparable<DataSize>
-
toString
-
equals
-
hashCode
public int hashCode()
-