类 DataSize

java.lang.Object
cn.taketoday.util.DataSize
所有已实现的接口:
Serializable, Comparable<DataSize>

public final class DataSize extends Object implements Comparable<DataSize>, Serializable
A data size, such as '12MB'.

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.

TermData SizeSize in Bytes
byte1B1
kilobyte1KB1,024
megabyte1MB1,048,576
gigabyte1GB1,073,741,824
terabyte1TB1,099,511,627,776
从以下版本开始:
2.1.3
作者:
Stephane Nicoll, Sam Brannen, Stephane Nicoll, TODAY
另请参阅:
  • 字段详细资料

    • BYTES_PER_KB

      public static final long BYTES_PER_KB
      Bytes per Kilobyte.
      另请参阅:
    • BYTES_PER_MB

      public static final long BYTES_PER_MB
      Bytes per Megabyte.
      另请参阅:
    • BYTES_PER_GB

      public static final long BYTES_PER_GB
      Bytes per Gigabyte.
      另请参阅:
    • BYTES_PER_TB

      public static final long BYTES_PER_TB
      Bytes per Terabyte.
      另请参阅:
  • 方法详细资料

    • ofBytes

      public static DataSize ofBytes(long bytes)
      Obtain a DataSize representing the specified number of bytes.
      参数:
      bytes - the number of bytes, positive or negative
      返回:
      a DataSize
    • ofKilobytes

      public static DataSize ofKilobytes(long kilobytes)
      Obtain a DataSize representing the specified number of kilobytes.
      参数:
      kilobytes - the number of kilobytes, positive or negative
      返回:
      a DataSize
    • ofMegabytes

      public static DataSize ofMegabytes(long megabytes)
      Obtain a DataSize representing the specified number of megabytes.
      参数:
      megabytes - the number of megabytes, positive or negative
      返回:
      a DataSize
    • ofGigabytes

      public static DataSize ofGigabytes(long gigabytes)
      Obtain a DataSize representing the specified number of gigabytes.
      参数:
      gigabytes - the number of gigabytes, positive or negative
      返回:
      a DataSize
    • ofTerabytes

      public static DataSize ofTerabytes(long terabytes)
      Obtain a DataSize representing the specified number of terabytes.
      参数:
      terabytes - the number of terabytes, positive or negative
      返回:
      a DataSize
    • of

      public static DataSize of(long amount, DataUnit unit)
      Obtain a DataSize representing an amount in the specified DataUnit.
      参数:
      amount - the amount of the size, measured in terms of the unit, positive or negative
      返回:
      a corresponding DataSize
    • parse

      public static DataSize parse(CharSequence text)
      Obtain a 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 parse
      返回:
      the parsed DataSize
      另请参阅:
    • parse

      public static DataSize parse(CharSequence text, @Nullable DataUnit defaultUnit)
      Obtain a 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 the defaultUnit is DataUnit.KILOBYTES)
       
      参数:
      text - the text to parse
      返回:
      the parsed DataSize
    • isNegative

      public boolean isNegative()
      Checks if this size is negative, excluding zero.
      返回:
      true if this size has a size less than zero bytes
    • toBytes

      public long toBytes()
      Return the number of bytes in this instance.
      返回:
      the number of bytes
    • toKilobytes

      public long toKilobytes()
      Return the number of kilobytes in this instance.
      返回:
      the number of kilobytes
    • toMegabytes

      public long toMegabytes()
      Return the number of megabytes in this instance.
      返回:
      the number of megabytes
    • toGigabytes

      public long toGigabytes()
      Return the number of gigabytes in this instance.
      返回:
      the number of gigabytes
    • toTerabytes

      public long toTerabytes()
      Return the number of terabytes in this instance.
      返回:
      the number of terabytes
    • compareTo

      public int compareTo(DataSize other)
      指定者:
      compareTo 在接口中 Comparable<DataSize>
    • toString

      public String toString()
      覆盖:
      toString 在类中 Object
    • equals

      public boolean equals(@Nullable Object other)
      覆盖:
      equals 在类中 Object
    • hashCode

      public int hashCode()
      覆盖:
      hashCode 在类中 Object