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  DataSizerepresenting the specified number of bytes. | 
| static DataSize | ofGigabytes(long gigabytes)Obtain a  DataSizerepresenting the specified number of gigabytes. | 
| static DataSize | ofKilobytes(long kilobytes)Obtain a  DataSizerepresenting the specified number of kilobytes. | 
| static DataSize | ofMegabytes(long megabytes)Obtain a  DataSizerepresenting the specified number of megabytes. | 
| static DataSize | ofTerabytes(long terabytes)Obtain a  DataSizerepresenting 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>