public final class DataSize extends Object implements Comparable<DataSize>, Serializable
This class models data size in terms of bytes and is immutable and thread-safe.
The terms and units used in this class are based on
binary prefixes
indicating multiplication by powers of 2. Consult the following table and
the Javadoc for DataUnit for details.
| Term | Data Size | Size in Bytes |
|---|---|---|
| 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 |
DataUnit,
Serialized Form| Modifier and Type | Method and Description |
|---|---|
int |
compareTo(DataSize other) |
boolean |
equals(Object other) |
int |
hashCode() |
boolean |
isNegative()
Checks if this size is negative, excluding zero.
|
static DataSize |
of(long amount,
DataUnit unit)
|
static DataSize |
ofBytes(long bytes)
Obtain a
DataSize representing the specified number of bytes. |
static DataSize |
ofGigabytes(long gigabytes)
Obtain a
DataSize representing the specified number of gigabytes. |
static DataSize |
ofKilobytes(long kilobytes)
Obtain a
DataSize representing the specified number of kilobytes. |
static DataSize |
ofMegabytes(long megabytes)
Obtain a
DataSize representing the specified number of megabytes. |
static DataSize |
ofTerabytes(long terabytes)
Obtain a
DataSize representing the specified number of terabytes. |
static DataSize |
parse(CharSequence text)
|
static DataSize |
parse(CharSequence text,
DataUnit defaultUnit)
|
long |
toBytes()
Return the number of bytes in this instance.
|
long |
toGigabytes()
Return the number of gigabytes in this instance.
|
long |
toKilobytes()
Return the number of kilobytes in this instance.
|
long |
toMegabytes()
Return the number of megabytes in this instance.
|
String |
toString() |
long |
toTerabytes()
Return the number of terabytes in this instance.
|
public static DataSize ofBytes(long bytes)
DataSize representing the specified number of bytes.bytes - the number of bytes, positive or negativeDataSizepublic static DataSize ofKilobytes(long kilobytes)
DataSize representing the specified number of kilobytes.kilobytes - the number of kilobytes, positive or negativeDataSizepublic static DataSize ofMegabytes(long megabytes)
DataSize representing the specified number of megabytes.megabytes - the number of megabytes, positive or negativeDataSizepublic static DataSize ofGigabytes(long gigabytes)
DataSize representing the specified number of gigabytes.gigabytes - the number of gigabytes, positive or negativeDataSizepublic static DataSize ofTerabytes(long terabytes)
DataSize representing the specified number of terabytes.terabytes - the number of terabytes, positive or negativeDataSizepublic static DataSize of(long amount, DataUnit unit)
amount - the amount of the size, measured in terms of the unit,
positive or negativeDataSizepublic static DataSize parse(CharSequence text)
DataSize from a text string such as 12MB using
DataUnit.BYTES if no unit is specified.
Examples:
"12KB" -- parses as "12 kilobytes" "5MB" -- parses as "5 megabytes" "20" -- parses as "20 bytes"
text - the text to parseDataSizeparse(CharSequence, DataUnit)public static DataSize parse(CharSequence text, @Nullable DataUnit defaultUnit)
DataSize from a text string such as 12MB using
the specified default DataUnit if 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 thedefaultUnitisDataUnit.KILOBYTES)
text - the text to parseDataSizepublic boolean isNegative()
public long toBytes()
public long toKilobytes()
public long toMegabytes()
public long toGigabytes()
public long toTerabytes()
public int compareTo(DataSize other)
compareTo in interface Comparable<DataSize>