Package oshi.util

Class FormatUtil

java.lang.Object
oshi.util.FormatUtil

@ThreadSafe public final class FormatUtil extends Object
Formatting utility for appending units or converting between number types.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    private static final long
     
    private static final long
     
    private static final long
     
    private static final long
     
    static final String
    Constant HEX_ERROR="0x%08X"
    private static final long
    Binary prefixes, used in IEC Standard for naming bytes.
    private static final long
    Decimal prefixes, used for Hz and other metric units and for bytes by hard drive manufacturers
    private static final long
     
    private static final long
     
    private static final long
     
    private static final long
     
    private static final long
     
    private static final long
     
    private static final BigInteger
     
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    private
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static String
    formatBytes(long bytes)
    Format bytes into a rounded string representation using IEC standard (matches Mac/Linux).
    static String
    formatBytesDecimal(long bytes)
    Format bytes into a rounded string representation using decimal SI units.
    static String
    formatElapsedSecs(long secs)
    Formats an elapsed time in seconds as days, hh:mm:ss.
    static String
    formatError(int errorCode)
    Translate an integer error code to its hex notation
    static String
    formatHertz(long hertz)
    Format hertz into a string to a rounded string representation.
    private static String
    formatUnits(long value, long prefix, String unit)
    Format units as exact integer or fractional decimal based on the prefix, appending the appropriate units
    static String
    formatValue(long value, String unit)
    Format arbitrary units into a string to a rounded string representation.
    static long
    Convert unsigned int to signed long.
    static int
    roundToInt(double x)
    Rounds a floating point number to the nearest integer
    static String
    Represent a 32 bit value as if it were an unsigned integer.
    static String
    Represent a 64 bit value as if it were an unsigned long.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

  • Constructor Details

    • FormatUtil

      private FormatUtil()
  • Method Details

    • formatBytes

      public static String formatBytes(long bytes)
      Format bytes into a rounded string representation using IEC standard (matches Mac/Linux). For hard drive capacities, use @link formatBytesDecimal(long). For Windows displays for KB, MB and GB, in JEDEC units, edit the returned string to remove the 'i' to display the (incorrect) JEDEC units.
      Parameters:
      bytes - Bytes.
      Returns:
      Rounded string representation of the byte size.
    • formatUnits

      private static String formatUnits(long value, long prefix, String unit)
      Format units as exact integer or fractional decimal based on the prefix, appending the appropriate units
      Parameters:
      value - The value to format
      prefix - The divisor of the unit multiplier
      unit - A string representing the units
      Returns:
      A string with the value
    • formatBytesDecimal

      public static String formatBytesDecimal(long bytes)
      Format bytes into a rounded string representation using decimal SI units. These are used by hard drive manufacturers for capacity. Most other storage should use formatBytes(long).
      Parameters:
      bytes - Bytes.
      Returns:
      Rounded string representation of the byte size.
    • formatHertz

      public static String formatHertz(long hertz)
      Format hertz into a string to a rounded string representation.
      Parameters:
      hertz - Hertz.
      Returns:
      Rounded string representation of the hertz size.
    • formatValue

      public static String formatValue(long value, String unit)
      Format arbitrary units into a string to a rounded string representation.
      Parameters:
      value - The value
      unit - Units to append metric prefix to
      Returns:
      Rounded string representation of the value with metric prefix to extension
    • formatElapsedSecs

      public static String formatElapsedSecs(long secs)
      Formats an elapsed time in seconds as days, hh:mm:ss.
      Parameters:
      secs - Elapsed seconds
      Returns:
      A string representation of elapsed time
    • getUnsignedInt

      public static long getUnsignedInt(int x)
      Convert unsigned int to signed long.
      Parameters:
      x - Signed int representing an unsigned integer
      Returns:
      long value of x unsigned
    • toUnsignedString

      public static String toUnsignedString(int i)
      Represent a 32 bit value as if it were an unsigned integer. This is a Java 7 implementation of Java 8's Integer.toUnsignedString.
      Parameters:
      i - a 32 bit value
      Returns:
      the string representation of the unsigned integer
    • toUnsignedString

      public static String toUnsignedString(long l)
      Represent a 64 bit value as if it were an unsigned long. This is a Java 7 implementation of Java 8's Long.toUnsignedString.
      Parameters:
      l - a 64 bit value
      Returns:
      the string representation of the unsigned long
    • formatError

      public static String formatError(int errorCode)
      Translate an integer error code to its hex notation
      Parameters:
      errorCode - The error code
      Returns:
      A string representing the error as 0x....
    • roundToInt

      public static int roundToInt(double x)
      Rounds a floating point number to the nearest integer
      Parameters:
      x - the floating point number
      Returns:
      the integer