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
    static final String
    Constant HEX_ERROR="0x%08X"
  • 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.
    static String
    formatMacAddress(long addr)
    Formats a 6-byte MAC address stored in the lower 48 bits of a long to colon-separated uppercase hex (e.g., AA:BB:CC:DD:EE:FF).
    static String
    Normalizes a MAC address string (which may use dashes, colons, or no separators) to colon-separated uppercase hex (e.g., AA:BB:CC:DD:EE:FF).
    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 Object

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

  • 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.
    • 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
    • formatMacAddress

      public static String formatMacAddress(long addr)
      Formats a 6-byte MAC address stored in the lower 48 bits of a long to colon-separated uppercase hex (e.g., AA:BB:CC:DD:EE:FF).
      Parameters:
      addr - the MAC address as a long (lower 48 bits)
      Returns:
      the formatted MAC address string
    • formatMacAddress

      public static String formatMacAddress(String raw)
      Normalizes a MAC address string (which may use dashes, colons, or no separators) to colon-separated uppercase hex (e.g., AA:BB:CC:DD:EE:FF).
      Parameters:
      raw - the raw MAC address string
      Returns:
      the normalized MAC address, or the original string uppercased if it cannot be parsed as 6 bytes