Class SystemUtils


  • public class SystemUtils
    extends java.lang.Object
    Helpers for System.

    If a system property cannot be read due to security restrictions, the corresponding field in this class will be set to null and a message will be written to System.err.

    #ThreadSafe#

    Since:
    1.0
    See Also:
    SystemProperties
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static java.lang.String AWT_TOOLKIT
      A constant for the System Property awt.toolkit.
      static java.lang.String FILE_ENCODING
      A constant for the System Property file.encoding.
      static java.lang.String FILE_SEPARATOR
      Deprecated.
      Use File.separator, since it is guaranteed to be a string containing a single character and it does not require a privilege check.
      static boolean IS_JAVA_1_1
      The constant true if this is Java version 1.1 (also 1.1.x versions).
      static boolean IS_JAVA_1_2
      The constant true if this is Java version 1.2 (also 1.2.x versions).
      static boolean IS_JAVA_1_3
      The constant true if this is Java version 1.3 (also 1.3.x versions).
      static boolean IS_JAVA_1_4
      The constant true if this is Java version 1.4 (also 1.4.x versions).
      static boolean IS_JAVA_1_5
      The constant true if this is Java version 1.5 (also 1.5.x versions).
      static boolean IS_JAVA_1_6
      The constant true if this is Java version 1.6 (also 1.6.x versions).
      static boolean IS_JAVA_1_7
      The constant true if this is Java version 1.7 (also 1.7.x versions).
      static boolean IS_JAVA_1_8
      The constant true if this is Java version 1.8 (also 1.8.x versions).
      static boolean IS_JAVA_1_9
      Deprecated.
      As of release 3.5, replaced by IS_JAVA_9
      static boolean IS_JAVA_10
      The constant true if this is Java version 10 (also 10.x versions).
      static boolean IS_JAVA_11
      The constant true if this is Java version 11 (also 11.x versions).
      static boolean IS_JAVA_12
      The constant true if this is Java version 12 (also 12.x versions).
      static boolean IS_JAVA_13
      The constant true if this is Java version 13 (also 13.x versions).
      static boolean IS_JAVA_14
      The constant true if this is Java version 14 (also 14.x versions).
      static boolean IS_JAVA_15
      The constant true if this is Java version 15 (also 15.x versions).
      static boolean IS_JAVA_16
      The constant true if this is Java version 16 (also 16.x versions).
      static boolean IS_JAVA_17
      The constant true if this is Java version 17 (also 17.x versions).
      static boolean IS_JAVA_18
      The constant true if this is Java version 18 (also 18.x versions).
      static boolean IS_JAVA_19
      The constant true if this is Java version 19 (also 19.x versions).
      static boolean IS_JAVA_20
      The constant true if this is Java version 20 (also 20.x versions).
      static boolean IS_JAVA_21
      The constant true if this is Java version 21 (also 21.x versions).
      static boolean IS_JAVA_22
      The constant true if this is Java version 22 (also 22.x versions).
      static boolean IS_JAVA_23
      The constant true if this is Java version 23 (also 23.x versions).
      static boolean IS_JAVA_24
      The constant true if this is Java version 24 (also 24.x versions).
      static boolean IS_JAVA_9
      The constant true if this is Java version 9 (also 9.x versions).
      static boolean IS_OS_400
      The constant true if this is IBM OS/400.
      static boolean IS_OS_AIX
      The constant true if this is AIX.
      static boolean IS_OS_ANDROID
      The constant true if this is Android.
      static boolean IS_OS_FREE_BSD
      The constant true if this is FreeBSD.
      static boolean IS_OS_HP_UX
      The constant true if this is HP-UX.
      static boolean IS_OS_IRIX
      The constant true if this is Irix.
      static boolean IS_OS_LINUX
      The constant true if this is Linux.
      static boolean IS_OS_MAC
      The constant true if this is Mac.
      static boolean IS_OS_MAC_OSX
      The constant true if this is Mac.
      static boolean IS_OS_MAC_OSX_BIG_SUR
      The constant true if this is macOS X Big Sur.
      static boolean IS_OS_MAC_OSX_CATALINA
      The constant true if this is macOS X Catalina.
      static boolean IS_OS_MAC_OSX_CHEETAH
      The constant true if this is macOS X Cheetah.
      static boolean IS_OS_MAC_OSX_EL_CAPITAN
      The constant true if this is macOS X El Capitan.
      static boolean IS_OS_MAC_OSX_HIGH_SIERRA
      The constant true if this is macOS X High Sierra.
      static boolean IS_OS_MAC_OSX_JAGUAR
      The constant true if this is macOS X Jaguar.
      static boolean IS_OS_MAC_OSX_LEOPARD
      The constant true if this is macOS X Leopard.
      static boolean IS_OS_MAC_OSX_LION
      The constant true if this is macOS X Lion.
      static boolean IS_OS_MAC_OSX_MAVERICKS
      The constant true if this is macOS X Mavericks.
      static boolean IS_OS_MAC_OSX_MOJAVE
      The constant true if this is macOS X Mojave.
      static boolean IS_OS_MAC_OSX_MONTEREY
      The constant true if this is macOS X Monterey.
      static boolean IS_OS_MAC_OSX_MOUNTAIN_LION
      The constant true if this is macOS X Mountain Lion.
      static boolean IS_OS_MAC_OSX_PANTHER
      The constant true if this is macOS X Panther.
      static boolean IS_OS_MAC_OSX_PUMA
      The constant true if this is macOS X Puma.
      static boolean IS_OS_MAC_OSX_SEQUOIA
      The constant true if this is macOS X Sequoia.
      static boolean IS_OS_MAC_OSX_SIERRA
      The constant true if this is macOS X Sierra.
      static boolean IS_OS_MAC_OSX_SNOW_LEOPARD
      The constant true if this is macOS X Snow Leopard.
      static boolean IS_OS_MAC_OSX_SONOMA
      The constant true if this is macOS X Sonoma.
      static boolean IS_OS_MAC_OSX_TIGER
      The constant true if this is macOS X Tiger.
      static boolean IS_OS_MAC_OSX_VENTURA
      The constant true if this is macOS X Ventura.
      static boolean IS_OS_MAC_OSX_YOSEMITE
      The constant true if this is macOS X Yosemite.
      static boolean IS_OS_NET_BSD
      The constant true if this is NetBSD.
      static boolean IS_OS_OPEN_BSD
      The constant true if this is OpenBSD.
      static boolean IS_OS_OS2
      The constant true if this is OS/2.
      static boolean IS_OS_SOLARIS
      The constant true if this is Solaris.
      static boolean IS_OS_SUN_OS
      The constant true if this is SunOS.
      static boolean IS_OS_UNIX
      The constant true if this is a Unix like system, as in any of AIX, HP-UX, Irix, Linux, MacOSX, Solaris or SUN OS.
      static boolean IS_OS_WINDOWS
      The constant true if this is Windows.
      static boolean IS_OS_WINDOWS_10
      The constant true if this is Windows 10.
      static boolean IS_OS_WINDOWS_11
      The constant true if this is Windows 11.
      static boolean IS_OS_WINDOWS_2000
      The constant true if this is Windows 2000.
      static boolean IS_OS_WINDOWS_2003
      The constant true if this is Windows 2003.
      static boolean IS_OS_WINDOWS_2008
      The constant true if this is Windows Server 2008.
      static boolean IS_OS_WINDOWS_2012
      The constant true if this is Windows Server 2012.
      static boolean IS_OS_WINDOWS_7
      The constant true if this is Windows 7.
      static boolean IS_OS_WINDOWS_8
      The constant true if this is Windows 8.
      static boolean IS_OS_WINDOWS_95
      The constant true if this is Windows 95.
      static boolean IS_OS_WINDOWS_98
      The constant true if this is Windows 98.
      static boolean IS_OS_WINDOWS_ME
      The constant true if this is Windows ME.
      static boolean IS_OS_WINDOWS_NT
      The constant true if this is Windows NT.
      static boolean IS_OS_WINDOWS_VISTA
      The constant true if this is Windows Vista.
      static boolean IS_OS_WINDOWS_XP
      The constant true if this is Windows XP.
      static boolean IS_OS_ZOS
      The constant true if this is z/OS.
      static java.lang.String JAVA_AWT_FONTS
      A constant for the System Property java.awt.fonts.
      static java.lang.String JAVA_AWT_GRAPHICSENV
      A constant for the System Property java.awt.graphicsenv.
      static java.lang.String JAVA_AWT_HEADLESS
      A constant for the System Property java.awt.headless.
      static java.lang.String JAVA_AWT_PRINTERJOB
      A constant for the System Property java.awt.printerjob.
      static java.lang.String JAVA_CLASS_PATH
      A constant for the System Property java.class.path.
      static java.lang.String JAVA_CLASS_VERSION
      A constant for the System Property java.class.version.
      static java.lang.String JAVA_COMPILER
      A constant for the System Property java.compiler.
      static java.lang.String JAVA_ENDORSED_DIRS
      A constant for the System Property java.endorsed.dirs.
      static java.lang.String JAVA_EXT_DIRS
      A constant for the System Property java.ext.dirs.
      static java.lang.String JAVA_HOME
      A constant for the System Property java.home.
      static java.lang.String JAVA_HOME_KEY
      Deprecated.
      static java.lang.String JAVA_IO_TMPDIR
      A constant for the System Property java.io.tmpdir.
      static java.lang.String JAVA_IO_TMPDIR_KEY
      static java.lang.String JAVA_LIBRARY_PATH
      A constant for the System Property java.library.path.
      static java.lang.String JAVA_RUNTIME_NAME
      A constant for the System Property java.runtime.name.
      static java.lang.String JAVA_RUNTIME_VERSION
      A constant for the System Property java.runtime.version.
      static java.lang.String JAVA_SPECIFICATION_NAME
      A constant for the System Property java.specification.name.
      static java.lang.String JAVA_SPECIFICATION_VENDOR
      A constant for the System Property java.specification.vendor.
      static java.lang.String JAVA_SPECIFICATION_VERSION
      A constant for the System Property java.specification.version.
      static java.lang.String JAVA_UTIL_PREFS_PREFERENCES_FACTORY
      A constant for the System Property java.util.prefs.PreferencesFactory.
      static java.lang.String JAVA_VENDOR
      A constant for the System Property java.vendor.
      static java.lang.String JAVA_VENDOR_URL
      A constant for the System Property java.vendor.url.
      static java.lang.String JAVA_VERSION
      A constant for the System Property java.version.
      static java.lang.String JAVA_VM_INFO
      A constant for the System Property java.vm.info.
      static java.lang.String JAVA_VM_NAME
      A constant for the System Property java.vm.name.
      static java.lang.String JAVA_VM_SPECIFICATION_NAME
      A constant for the System Property java.vm.specification.name.
      static java.lang.String JAVA_VM_SPECIFICATION_VENDOR
      A constant for the System Property java.vm.specification.vendor.
      static java.lang.String JAVA_VM_SPECIFICATION_VERSION
      A constant for the System Property java.vm.specification.version.
      static java.lang.String JAVA_VM_VENDOR
      A constant for the System Property java.vm.vendor.
      static java.lang.String JAVA_VM_VERSION
      A constant for the System Property java.vm.version.
      static java.lang.String LINE_SEPARATOR
      Deprecated.
      Use System.lineSeparator() instead, since it does not require a privilege check.
      static java.lang.String OS_ARCH
      A constant for the System Property os.arch.
      static java.lang.String OS_NAME
      A constant for the System Property os.name.
      static java.lang.String OS_VERSION
      A constant for the System Property os.version.
      static java.lang.String PATH_SEPARATOR
      Deprecated.
      Use File.pathSeparator, since it is guaranteed to be a string containing a single character and it does not require a privilege check.
      static java.lang.String USER_COUNTRY
      A constant for the System Property user.country or user.region.
      static java.lang.String USER_DIR
      A constant for the System Property user.dir.
      static java.lang.String USER_DIR_KEY
      Deprecated.
      static java.lang.String USER_HOME
      A constant for the System Property user.home.
      static java.lang.String USER_HOME_KEY
      The System property key for the user home directory.
      static java.lang.String USER_LANGUAGE
      A constant for the System Property user.language.
      static java.lang.String USER_NAME
      A constant for the System Property user.name.
      static java.lang.String USER_NAME_KEY
      Deprecated.
      static java.lang.String USER_TIMEZONE
      A constant for the System Property user.timezone.
    • Constructor Summary

      Constructors 
      Constructor Description
      SystemUtils()
      SystemUtils instances shouldn't be constructed in standard programming.
    • Field Detail

      • FILE_ENCODING

        public static final java.lang.String FILE_ENCODING
        A constant for the System Property file.encoding.

        File encoding, such as Cp1252.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        2.0, Java 1.2
        See Also:
        SystemProperties.getFileEncoding()
      • FILE_SEPARATOR

        @Deprecated
        public static final java.lang.String FILE_SEPARATOR
        Deprecated.
        Use File.separator, since it is guaranteed to be a string containing a single character and it does not require a privilege check.
        A constant for the System Property file.separator.

        The file separator is:

        • "/" on Unix
        • "\" on Windows.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        Java 1.1
        See Also:
        SystemProperties.getFileSeparator()
      • JAVA_AWT_FONTS

        public static final java.lang.String JAVA_AWT_FONTS
        A constant for the System Property java.awt.fonts.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        2.1
        See Also:
        SystemProperties.getJavaAwtFonts()
      • JAVA_AWT_GRAPHICSENV

        public static final java.lang.String JAVA_AWT_GRAPHICSENV
        A constant for the System Property java.awt.graphicsenv.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        2.1
        See Also:
        SystemProperties.getJavaAwtGraphicsenv()
      • JAVA_AWT_HEADLESS

        public static final java.lang.String JAVA_AWT_HEADLESS
        A constant for the System Property java.awt.headless. The value of this property is the String "true" or "false".

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        2.1, Java 1.4
        See Also:
        isJavaAwtHeadless(), SystemProperties.getJavaAwtHeadless()
      • JAVA_AWT_PRINTERJOB

        public static final java.lang.String JAVA_AWT_PRINTERJOB
        A constant for the System Property java.awt.printerjob.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        2.1
        See Also:
        SystemProperties.getJavaAwtPrinterjob()
      • JAVA_CLASS_PATH

        public static final java.lang.String JAVA_CLASS_PATH
        A constant for the System Property java.class.path. Java class path.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        Java 1.1
        See Also:
        SystemProperties.getJavaClassPath()
      • JAVA_CLASS_VERSION

        public static final java.lang.String JAVA_CLASS_VERSION
        A constant for the System Property java.class.version. Java class format version number.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        Java 1.1
        See Also:
        SystemProperties.getJavaClassVersion()
      • JAVA_COMPILER

        public static final java.lang.String JAVA_COMPILER
        A constant for the System Property java.compiler. Name of JIT compiler to use. First in JDK version 1.2. Not used in Sun JDKs after 1.2.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        Java 1.2. Not used in Sun versions after 1.2.
        See Also:
        SystemProperties.getJavaCompiler()
      • JAVA_ENDORSED_DIRS

        public static final java.lang.String JAVA_ENDORSED_DIRS
        A constant for the System Property java.endorsed.dirs. Path of endorsed directory or directories.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        Java 1.4
        See Also:
        SystemProperties.getJavaEndorsedDirs()
      • JAVA_EXT_DIRS

        public static final java.lang.String JAVA_EXT_DIRS
        A constant for the System Property java.ext.dirs. Path of extension directory or directories.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        Java 1.3
        See Also:
        SystemProperties.getJavaExtDirs()
      • JAVA_HOME

        public static final java.lang.String JAVA_HOME
        A constant for the System Property java.home. Java installation directory.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        Java 1.1
        See Also:
        SystemProperties.getJavaHome()
      • JAVA_IO_TMPDIR

        public static final java.lang.String JAVA_IO_TMPDIR
        A constant for the System Property java.io.tmpdir. Default temp file path.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        Java 1.2
        See Also:
        SystemProperties.getJavaIoTmpdir()
      • JAVA_LIBRARY_PATH

        public static final java.lang.String JAVA_LIBRARY_PATH
        A constant for the System Property java.library.path. List of paths to search when loading libraries.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        Java 1.2
        See Also:
        SystemProperties.getJavaLibraryPath()
      • JAVA_RUNTIME_NAME

        public static final java.lang.String JAVA_RUNTIME_NAME
        A constant for the System Property java.runtime.name. Java Runtime Environment name.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        2.0, Java 1.3
        See Also:
        SystemProperties.getJavaRuntimeName()
      • JAVA_RUNTIME_VERSION

        public static final java.lang.String JAVA_RUNTIME_VERSION
        A constant for the System Property java.runtime.version. Java Runtime Environment version.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        2.0, Java 1.3
        See Also:
        SystemProperties.getJavaRuntimeVersion()
      • JAVA_SPECIFICATION_NAME

        public static final java.lang.String JAVA_SPECIFICATION_NAME
        A constant for the System Property java.specification.name. Java Runtime Environment specification name.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        Java 1.2
        See Also:
        SystemProperties.getJavaSpecificationName()
      • JAVA_SPECIFICATION_VENDOR

        public static final java.lang.String JAVA_SPECIFICATION_VENDOR
        A constant for the System Property java.specification.vendor. Java Runtime Environment specification vendor.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        Java 1.2
        See Also:
        SystemProperties.getJavaSpecificationVendor()
      • JAVA_SPECIFICATION_VERSION

        public static final java.lang.String JAVA_SPECIFICATION_VERSION
        A constant for the System Property java.specification.version. Java Runtime Environment specification version.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        Java 1.3
        See Also:
        SystemProperties.getJavaSpecificationVersion()
      • JAVA_UTIL_PREFS_PREFERENCES_FACTORY

        public static final java.lang.String JAVA_UTIL_PREFS_PREFERENCES_FACTORY
        A constant for the System Property java.util.prefs.PreferencesFactory. A class name.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        2.1, Java 1.4
        See Also:
        SystemProperties.getJavaUtilPrefsPreferencesFactory()
      • JAVA_VENDOR

        public static final java.lang.String JAVA_VENDOR
        A constant for the System Property java.vendor. Java vendor-specific string.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        Java 1.1
        See Also:
        SystemProperties.getJavaVendor()
      • JAVA_VENDOR_URL

        public static final java.lang.String JAVA_VENDOR_URL
        A constant for the System Property java.vendor.url. Java vendor URL.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        Java 1.1
        See Also:
        SystemProperties.getJavaVendorUrl()
      • JAVA_VERSION

        public static final java.lang.String JAVA_VERSION
        A constant for the System Property java.version. Java version number.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        Java 1.1
        See Also:
        SystemProperties.getJavaVersion()
      • JAVA_VM_INFO

        public static final java.lang.String JAVA_VM_INFO
        A constant for the System Property java.vm.info. Java Virtual Machine implementation info.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        2.0, Java 1.2
        See Also:
        SystemProperties.getJavaVmInfo()
      • JAVA_VM_NAME

        public static final java.lang.String JAVA_VM_NAME
        A constant for the System Property java.vm.name. Java Virtual Machine implementation name.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        Java 1.2
        See Also:
        SystemProperties.getJavaVmName()
      • JAVA_VM_SPECIFICATION_NAME

        public static final java.lang.String JAVA_VM_SPECIFICATION_NAME
        A constant for the System Property java.vm.specification.name. Java Virtual Machine specification name.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        Java 1.2
        See Also:
        SystemProperties.getJavaVmSpecificationName()
      • JAVA_VM_SPECIFICATION_VENDOR

        public static final java.lang.String JAVA_VM_SPECIFICATION_VENDOR
        A constant for the System Property java.vm.specification.vendor. Java Virtual Machine specification vendor.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        Java 1.2
        See Also:
        SystemProperties.getJavaVmSpecificationVendor()
      • JAVA_VM_SPECIFICATION_VERSION

        public static final java.lang.String JAVA_VM_SPECIFICATION_VERSION
        A constant for the System Property java.vm.specification.version. Java Virtual Machine specification version.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        Java 1.2
        See Also:
        SystemProperties.getJavaVmSpecificationVersion()
      • JAVA_VM_VENDOR

        public static final java.lang.String JAVA_VM_VENDOR
        A constant for the System Property java.vm.vendor. Java Virtual Machine implementation vendor.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        Java 1.2
        See Also:
        SystemProperties.getJavaVmVendor()
      • JAVA_VM_VERSION

        public static final java.lang.String JAVA_VM_VERSION
        A constant for the System Property java.vm.version. Java Virtual Machine implementation version.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        Java 1.2
        See Also:
        SystemProperties.getJavaVmVersion()
      • LINE_SEPARATOR

        @Deprecated
        public static final java.lang.String LINE_SEPARATOR
        Deprecated.
        Use System.lineSeparator() instead, since it does not require a privilege check.
        A constant for the System Property line.separator. Line separator ("\n" on Unix).

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        Java 1.1
        See Also:
        SystemProperties.getLineSeparator()
      • OS_ARCH

        public static final java.lang.String OS_ARCH
        A constant for the System Property os.arch. Operating system architecture.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        Java 1.1
        See Also:
        SystemProperties.getOsArch()
      • OS_NAME

        public static final java.lang.String OS_NAME
        A constant for the System Property os.name. Operating system name.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        Java 1.1
        See Also:
        SystemProperties.getOsName()
      • OS_VERSION

        public static final java.lang.String OS_VERSION
        A constant for the System Property os.version. Operating system version.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        Java 1.1
        See Also:
        SystemProperties.getOsVersion()
      • PATH_SEPARATOR

        @Deprecated
        public static final java.lang.String PATH_SEPARATOR
        Deprecated.
        Use File.pathSeparator, since it is guaranteed to be a string containing a single character and it does not require a privilege check.
        A constant for the System Property path.separator. Path separator (":" on Unix).

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        Java 1.1
        See Also:
        SystemProperties.getPathSeparator()
      • USER_COUNTRY

        public static final java.lang.String USER_COUNTRY
        A constant for the System Property user.country or user.region. User's country code, such as "GB". First in Java version 1.2 as user.region. Renamed to user.country in 1.4

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        2.0, Java 1.2
      • USER_DIR

        public static final java.lang.String USER_DIR
        A constant for the System Property user.dir. User's current working directory.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        Java 1.1
        See Also:
        SystemProperties.getUserDir()
      • USER_HOME

        public static final java.lang.String USER_HOME
        A constant for the System Property user.home. User's home directory.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        Java 1.1
        See Also:
        SystemProperties.getUserHome()
      • USER_LANGUAGE

        public static final java.lang.String USER_LANGUAGE
        A constant for the System Property user.language. User's language code, such as "en".

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        2.0, Java 1.2
        See Also:
        SystemProperties.getUserLanguage()
      • USER_NAME

        public static final java.lang.String USER_NAME
        A constant for the System Property user.name. User's account name.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        Java 1.1
        See Also:
        SystemProperties.getUserName()
      • USER_TIMEZONE

        public static final java.lang.String USER_TIMEZONE
        A constant for the System Property user.timezone. For example: "America/Los_Angeles".

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        2.1
        See Also:
        SystemProperties.getUserTimezone()
      • IS_JAVA_1_1

        public static final boolean IS_JAVA_1_1
        The constant true if this is Java version 1.1 (also 1.1.x versions).

        The result depends on the value of the JAVA_SPECIFICATION_VERSION constant.

        The field will return false if JAVA_SPECIFICATION_VERSION is null.

        This value is initialized when the class is loaded.

      • IS_JAVA_1_2

        public static final boolean IS_JAVA_1_2
        The constant true if this is Java version 1.2 (also 1.2.x versions).

        The result depends on the value of the JAVA_SPECIFICATION_VERSION constant.

        The field will return false if JAVA_SPECIFICATION_VERSION is null.

        This value is initialized when the class is loaded.

      • IS_JAVA_1_3

        public static final boolean IS_JAVA_1_3
        The constant true if this is Java version 1.3 (also 1.3.x versions).

        The result depends on the value of the JAVA_SPECIFICATION_VERSION constant.

        The field will return false if JAVA_SPECIFICATION_VERSION is null.

        This value is initialized when the class is loaded.

      • IS_JAVA_1_4

        public static final boolean IS_JAVA_1_4
        The constant true if this is Java version 1.4 (also 1.4.x versions).

        The result depends on the value of the JAVA_SPECIFICATION_VERSION constant.

        The field will return false if JAVA_SPECIFICATION_VERSION is null.

        This value is initialized when the class is loaded.

      • IS_JAVA_1_5

        public static final boolean IS_JAVA_1_5
        The constant true if this is Java version 1.5 (also 1.5.x versions).

        The result depends on the value of the JAVA_SPECIFICATION_VERSION constant.

        The field will return false if JAVA_SPECIFICATION_VERSION is null.

        This value is initialized when the class is loaded.

      • IS_JAVA_1_6

        public static final boolean IS_JAVA_1_6
        The constant true if this is Java version 1.6 (also 1.6.x versions).

        The result depends on the value of the JAVA_SPECIFICATION_VERSION constant.

        The field will return false if JAVA_SPECIFICATION_VERSION is null.

        This value is initialized when the class is loaded.

      • IS_JAVA_1_7

        public static final boolean IS_JAVA_1_7
        The constant true if this is Java version 1.7 (also 1.7.x versions).

        The result depends on the value of the JAVA_SPECIFICATION_VERSION constant.

        The field will return false if JAVA_SPECIFICATION_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.0
      • IS_JAVA_1_8

        public static final boolean IS_JAVA_1_8
        The constant true if this is Java version 1.8 (also 1.8.x versions).

        The result depends on the value of the JAVA_SPECIFICATION_VERSION constant.

        The field will return false if JAVA_SPECIFICATION_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.3.2
      • IS_JAVA_1_9

        @Deprecated
        public static final boolean IS_JAVA_1_9
        Deprecated.
        As of release 3.5, replaced by IS_JAVA_9
        The constant true if this is Java version 1.9 (also 1.9.x versions).

        The result depends on the value of the JAVA_SPECIFICATION_VERSION constant.

        The field will return false if JAVA_SPECIFICATION_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.4
      • IS_JAVA_9

        public static final boolean IS_JAVA_9
        The constant true if this is Java version 9 (also 9.x versions).

        The result depends on the value of the JAVA_SPECIFICATION_VERSION constant.

        The field will return false if JAVA_SPECIFICATION_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.5
      • IS_JAVA_10

        public static final boolean IS_JAVA_10
        The constant true if this is Java version 10 (also 10.x versions).

        The result depends on the value of the JAVA_SPECIFICATION_VERSION constant.

        The field will return false if JAVA_SPECIFICATION_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.7
      • IS_JAVA_11

        public static final boolean IS_JAVA_11
        The constant true if this is Java version 11 (also 11.x versions).

        The result depends on the value of the JAVA_SPECIFICATION_VERSION constant.

        The field will return false if JAVA_SPECIFICATION_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.8
      • IS_JAVA_12

        public static final boolean IS_JAVA_12
        The constant true if this is Java version 12 (also 12.x versions).

        The result depends on the value of the JAVA_SPECIFICATION_VERSION constant.

        The field will return false if JAVA_SPECIFICATION_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.9
      • IS_JAVA_13

        public static final boolean IS_JAVA_13
        The constant true if this is Java version 13 (also 13.x versions).

        The result depends on the value of the JAVA_SPECIFICATION_VERSION constant.

        The field will return false if JAVA_SPECIFICATION_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.9
      • IS_JAVA_14

        public static final boolean IS_JAVA_14
        The constant true if this is Java version 14 (also 14.x versions).

        The result depends on the value of the JAVA_SPECIFICATION_VERSION constant.

        The field will return false if JAVA_SPECIFICATION_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.10
      • IS_JAVA_15

        public static final boolean IS_JAVA_15
        The constant true if this is Java version 15 (also 15.x versions).

        The result depends on the value of the JAVA_SPECIFICATION_VERSION constant.

        The field will return false if JAVA_SPECIFICATION_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.10
      • IS_JAVA_16

        public static final boolean IS_JAVA_16
        The constant true if this is Java version 16 (also 16.x versions).

        The result depends on the value of the JAVA_SPECIFICATION_VERSION constant.

        The field will return false if JAVA_SPECIFICATION_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.13.0
      • IS_JAVA_17

        public static final boolean IS_JAVA_17
        The constant true if this is Java version 17 (also 17.x versions).

        The result depends on the value of the JAVA_SPECIFICATION_VERSION constant.

        The field will return false if JAVA_SPECIFICATION_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.13.0
      • IS_JAVA_18

        public static final boolean IS_JAVA_18
        The constant true if this is Java version 18 (also 18.x versions).

        The result depends on the value of the JAVA_SPECIFICATION_VERSION constant.

        The field will return false if JAVA_SPECIFICATION_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.13.0
      • IS_JAVA_19

        public static final boolean IS_JAVA_19
        The constant true if this is Java version 19 (also 19.x versions).

        The result depends on the value of the JAVA_SPECIFICATION_VERSION constant.

        The field will return false if JAVA_SPECIFICATION_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.13.0
      • IS_JAVA_20

        public static final boolean IS_JAVA_20
        The constant true if this is Java version 20 (also 20.x versions).

        The result depends on the value of the JAVA_SPECIFICATION_VERSION constant.

        The field will return false if JAVA_SPECIFICATION_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.13.0
      • IS_JAVA_21

        public static final boolean IS_JAVA_21
        The constant true if this is Java version 21 (also 21.x versions).

        The result depends on the value of the JAVA_SPECIFICATION_VERSION constant.

        The field will return false if JAVA_SPECIFICATION_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.13.0
      • IS_JAVA_22

        public static final boolean IS_JAVA_22
        The constant true if this is Java version 22 (also 22.x versions).

        The result depends on the value of the JAVA_SPECIFICATION_VERSION constant.

        The field will return false if JAVA_SPECIFICATION_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.15.0
      • IS_JAVA_23

        public static final boolean IS_JAVA_23
        The constant true if this is Java version 23 (also 23.x versions).

        The result depends on the value of the JAVA_SPECIFICATION_VERSION constant.

        The field will return false if JAVA_SPECIFICATION_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.18.0
      • IS_JAVA_24

        public static final boolean IS_JAVA_24
        The constant true if this is Java version 24 (also 24.x versions).

        The result depends on the value of the JAVA_SPECIFICATION_VERSION constant.

        The field will return false if JAVA_SPECIFICATION_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.18.0
      • IS_OS_AIX

        public static final boolean IS_OS_AIX
        The constant true if this is AIX.

        The result depends on the value of the OS_NAME constant.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        2.0
      • IS_OS_ANDROID

        public static final boolean IS_OS_ANDROID
        The constant true if this is Android.

        See https://developer.android.com/reference/java/lang/System#getProperties().

        This value is initialized when the class is loaded.

        Since:
        3.15.0
      • IS_OS_HP_UX

        public static final boolean IS_OS_HP_UX
        The constant true if this is HP-UX.

        The result depends on the value of the OS_NAME constant.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        2.0
      • IS_OS_400

        public static final boolean IS_OS_400
        The constant true if this is IBM OS/400.

        The result depends on the value of the OS_NAME constant.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        3.3
      • IS_OS_IRIX

        public static final boolean IS_OS_IRIX
        The constant true if this is Irix.

        The result depends on the value of the OS_NAME constant.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        2.0
      • IS_OS_LINUX

        public static final boolean IS_OS_LINUX
        The constant true if this is Linux.

        The result depends on the value of the OS_NAME constant.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        2.0
      • IS_OS_MAC

        public static final boolean IS_OS_MAC
        The constant true if this is Mac.

        The result depends on the value of the OS_NAME constant.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        2.0
      • IS_OS_MAC_OSX

        public static final boolean IS_OS_MAC_OSX
        The constant true if this is Mac.

        The result depends on the value of the OS_NAME constant.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        2.0
      • IS_OS_MAC_OSX_CHEETAH

        public static final boolean IS_OS_MAC_OSX_CHEETAH
        The constant true if this is macOS X Cheetah.

        The value depends on the value of the OS_NAME and OS_VERSION constants.

        The value is false if OS_NAME or OS_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.4
      • IS_OS_MAC_OSX_PUMA

        public static final boolean IS_OS_MAC_OSX_PUMA
        The constant true if this is macOS X Puma.

        The value depends on the value of the OS_NAME and OS_VERSION constants.

        The value is false if OS_NAME or OS_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.4
      • IS_OS_MAC_OSX_JAGUAR

        public static final boolean IS_OS_MAC_OSX_JAGUAR
        The constant true if this is macOS X Jaguar.

        The value depends on the value of the OS_NAME and OS_VERSION constants.

        The value is false if OS_NAME or OS_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.4
      • IS_OS_MAC_OSX_PANTHER

        public static final boolean IS_OS_MAC_OSX_PANTHER
        The constant true if this is macOS X Panther.

        The value depends on the value of the OS_NAME and OS_VERSION constants.

        The value is false if OS_NAME or OS_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.4
      • IS_OS_MAC_OSX_TIGER

        public static final boolean IS_OS_MAC_OSX_TIGER
        The constant true if this is macOS X Tiger.

        The value depends on the value of the OS_NAME and OS_VERSION constants.

        The value is false if OS_NAME or OS_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.4
      • IS_OS_MAC_OSX_LEOPARD

        public static final boolean IS_OS_MAC_OSX_LEOPARD
        The constant true if this is macOS X Leopard.

        The value depends on the value of the OS_NAME and OS_VERSION constants.

        The value is false if OS_NAME or OS_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.4
      • IS_OS_MAC_OSX_SNOW_LEOPARD

        public static final boolean IS_OS_MAC_OSX_SNOW_LEOPARD
        The constant true if this is macOS X Snow Leopard.

        The value depends on the value of the OS_NAME and OS_VERSION constants.

        The value is false if OS_NAME or OS_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.4
      • IS_OS_MAC_OSX_LION

        public static final boolean IS_OS_MAC_OSX_LION
        The constant true if this is macOS X Lion.

        The value depends on the value of the OS_NAME and OS_VERSION constants.

        The value is false if OS_NAME or OS_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.4
      • IS_OS_MAC_OSX_MOUNTAIN_LION

        public static final boolean IS_OS_MAC_OSX_MOUNTAIN_LION
        The constant true if this is macOS X Mountain Lion.

        The value depends on the value of the OS_NAME and OS_VERSION constants.

        The value is false if OS_NAME or OS_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.4
      • IS_OS_MAC_OSX_MAVERICKS

        public static final boolean IS_OS_MAC_OSX_MAVERICKS
        The constant true if this is macOS X Mavericks.

        The value depends on the value of the OS_NAME and OS_VERSION constants.

        The value is false if OS_NAME or OS_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.4
      • IS_OS_MAC_OSX_YOSEMITE

        public static final boolean IS_OS_MAC_OSX_YOSEMITE
        The constant true if this is macOS X Yosemite.

        The value depends on the value of the OS_NAME and OS_VERSION constants.

        The value is false if OS_NAME or OS_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.4
      • IS_OS_MAC_OSX_EL_CAPITAN

        public static final boolean IS_OS_MAC_OSX_EL_CAPITAN
        The constant true if this is macOS X El Capitan.

        The value depends on the value of the OS_NAME and OS_VERSION constants.

        The value is false if OS_NAME or OS_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.5
      • IS_OS_MAC_OSX_SIERRA

        public static final boolean IS_OS_MAC_OSX_SIERRA
        The constant true if this is macOS X Sierra.

        The value depends on the value of the OS_NAME and OS_VERSION constants.

        The value is false if OS_NAME or OS_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.12.0
      • IS_OS_MAC_OSX_HIGH_SIERRA

        public static final boolean IS_OS_MAC_OSX_HIGH_SIERRA
        The constant true if this is macOS X High Sierra.

        The value depends on the value of the OS_NAME and OS_VERSION constants.

        The value is false if OS_NAME or OS_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.12.0
      • IS_OS_MAC_OSX_MOJAVE

        public static final boolean IS_OS_MAC_OSX_MOJAVE
        The constant true if this is macOS X Mojave.

        The value depends on the value of the OS_NAME and OS_VERSION constants.

        The value is false if OS_NAME or OS_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.12.0
      • IS_OS_MAC_OSX_CATALINA

        public static final boolean IS_OS_MAC_OSX_CATALINA
        The constant true if this is macOS X Catalina.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        3.12.0
      • IS_OS_MAC_OSX_BIG_SUR

        public static final boolean IS_OS_MAC_OSX_BIG_SUR
        The constant true if this is macOS X Big Sur.

        The value depends on the value of the OS_NAME and OS_VERSION constants.

        The value is false if OS_NAME or OS_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.12.0
      • IS_OS_MAC_OSX_MONTEREY

        public static final boolean IS_OS_MAC_OSX_MONTEREY
        The constant true if this is macOS X Monterey.

        The value depends on the value of the OS_NAME and OS_VERSION constants.

        The value is false if OS_NAME or OS_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.13.0
      • IS_OS_MAC_OSX_VENTURA

        public static final boolean IS_OS_MAC_OSX_VENTURA
        The constant true if this is macOS X Ventura.

        The value depends on the value of the OS_NAME and OS_VERSION constants.

        The value is false if OS_NAME or OS_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.13.0
      • IS_OS_MAC_OSX_SONOMA

        public static final boolean IS_OS_MAC_OSX_SONOMA
        The constant true if this is macOS X Sonoma.

        The value depends on the value of the OS_NAME and OS_VERSION constants.

        The value is false if OS_NAME or OS_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.15.0
      • IS_OS_MAC_OSX_SEQUOIA

        public static final boolean IS_OS_MAC_OSX_SEQUOIA
        The constant true if this is macOS X Sequoia.

        The value depends on the value of the OS_NAME and OS_VERSION constants.

        The value is false if OS_NAME or OS_VERSION is null.

        This value is initialized when the class is loaded.

        Since:
        3.18.0
      • IS_OS_FREE_BSD

        public static final boolean IS_OS_FREE_BSD
        The constant true if this is FreeBSD.

        The result depends on the value of the OS_NAME constant.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        3.1
      • IS_OS_OPEN_BSD

        public static final boolean IS_OS_OPEN_BSD
        The constant true if this is OpenBSD.

        The result depends on the value of the OS_NAME constant.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        3.1
      • IS_OS_NET_BSD

        public static final boolean IS_OS_NET_BSD
        The constant true if this is NetBSD.

        The result depends on the value of the OS_NAME constant.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        3.1
      • IS_OS_OS2

        public static final boolean IS_OS_OS2
        The constant true if this is OS/2.

        The result depends on the value of the OS_NAME constant.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        2.0
      • IS_OS_SOLARIS

        public static final boolean IS_OS_SOLARIS
        The constant true if this is Solaris.

        The result depends on the value of the OS_NAME constant.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        2.0
      • IS_OS_SUN_OS

        public static final boolean IS_OS_SUN_OS
        The constant true if this is SunOS.

        The result depends on the value of the OS_NAME constant.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        2.0
      • IS_OS_UNIX

        public static final boolean IS_OS_UNIX
        The constant true if this is a Unix like system, as in any of AIX, HP-UX, Irix, Linux, MacOSX, Solaris or SUN OS.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        2.1
      • IS_OS_WINDOWS

        public static final boolean IS_OS_WINDOWS
        The constant true if this is Windows.

        The result depends on the value of the OS_NAME constant.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        2.0
      • IS_OS_WINDOWS_2000

        public static final boolean IS_OS_WINDOWS_2000
        The constant true if this is Windows 2000.

        The result depends on the value of the OS_NAME constant.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        2.0
      • IS_OS_WINDOWS_2003

        public static final boolean IS_OS_WINDOWS_2003
        The constant true if this is Windows 2003.

        The result depends on the value of the OS_NAME constant.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        3.1
      • IS_OS_WINDOWS_2008

        public static final boolean IS_OS_WINDOWS_2008
        The constant true if this is Windows Server 2008.

        The result depends on the value of the OS_NAME constant.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        3.1
      • IS_OS_WINDOWS_2012

        public static final boolean IS_OS_WINDOWS_2012
        The constant true if this is Windows Server 2012.

        The result depends on the value of the OS_NAME constant.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        3.4
      • IS_OS_WINDOWS_95

        public static final boolean IS_OS_WINDOWS_95
        The constant true if this is Windows 95.

        The result depends on the value of the OS_NAME constant.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        2.0
      • IS_OS_WINDOWS_98

        public static final boolean IS_OS_WINDOWS_98
        The constant true if this is Windows 98.

        The result depends on the value of the OS_NAME constant.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        2.0
      • IS_OS_WINDOWS_ME

        public static final boolean IS_OS_WINDOWS_ME
        The constant true if this is Windows ME.

        The result depends on the value of the OS_NAME constant.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        2.0
      • IS_OS_WINDOWS_NT

        public static final boolean IS_OS_WINDOWS_NT
        The constant true if this is Windows NT.

        The result depends on the value of the OS_NAME constant.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        2.0
      • IS_OS_WINDOWS_XP

        public static final boolean IS_OS_WINDOWS_XP
        The constant true if this is Windows XP.

        The result depends on the value of the OS_NAME constant.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        2.0
      • IS_OS_WINDOWS_VISTA

        public static final boolean IS_OS_WINDOWS_VISTA
        The constant true if this is Windows Vista.

        The result depends on the value of the OS_NAME constant.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        2.4
      • IS_OS_WINDOWS_7

        public static final boolean IS_OS_WINDOWS_7
        The constant true if this is Windows 7.

        The result depends on the value of the OS_NAME constant.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        3.0
      • IS_OS_WINDOWS_8

        public static final boolean IS_OS_WINDOWS_8
        The constant true if this is Windows 8.

        The result depends on the value of the OS_NAME constant.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        3.2
      • IS_OS_WINDOWS_10

        public static final boolean IS_OS_WINDOWS_10
        The constant true if this is Windows 10.

        The result depends on the value of the OS_NAME constant.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        3.5
      • IS_OS_WINDOWS_11

        public static final boolean IS_OS_WINDOWS_11
        The constant true if this is Windows 11.

        The result depends on the value of the OS_NAME constant.

        The field will return false if OS_NAME is null.

        OpenJDK fixed the return value for os.name on Windows 11 to versions 8, 11, and 17:

        • Affects Java versions 7u321, 8u311, 11.0.13-oracle, 17.0.1: https://bugs.openjdk.org/browse/JDK-8274737
        • Fixed in OpenJDK commit https://github.com/openjdk/jdk/commit/97ea9dd2f24f9f1fb9b9345a4202a825ee28e014

        This value is initialized when the class is loaded.

        Since:
        3.13.0
      • IS_OS_ZOS

        public static final boolean IS_OS_ZOS
        The constant true if this is z/OS.

        The result depends on the value of the OS_NAME constant.

        The field will return false if OS_NAME is null.

        This value is initialized when the class is loaded.

        Since:
        3.5
      • USER_HOME_KEY

        public static final java.lang.String USER_HOME_KEY
        The System property key for the user home directory.
        See Also:
        Constant Field Values
      • AWT_TOOLKIT

        public static final java.lang.String AWT_TOOLKIT
        A constant for the System Property awt.toolkit.

        Holds a class name, on Windows XP this is sun.awt.windows.WToolkit.

        On platforms without a GUI, this value is null.

        Defaults to null if the runtime does not have security access to read this property or the property does not exist.

        This value is initialized when the class is loaded. If System.setProperty(String,String) or System.setProperties(java.util.Properties) is called after this class is loaded, the value will be out of sync with that System property.

        Since:
        2.1
        See Also:
        SystemProperties.getAwtToolkit()
    • Constructor Detail

      • SystemUtils

        public SystemUtils()
        SystemUtils instances shouldn't be constructed in standard programming. Instead, elements should be accessed directly, for example SystemUtils.FILE_SEPARATOR.

        This constructor is public to permit tools that require a JavaBean instance to operate.

    • Method Detail

      • getEnvironmentVariable

        public static java.lang.String getEnvironmentVariable​(java.lang.String name,
                                                              java.lang.String defaultValue)
        Gets an environment variable, defaulting to defaultValue if the variable cannot be read.

        If a SecurityException is caught, the return value is defaultValue and a message is written to System.err.

        Parameters:
        name - the environment variable name.
        defaultValue - the default value.
        Returns:
        the environment variable value or defaultValue if a security problem occurs.
        Since:
        3.8
      • getHostName

        public static java.lang.String getHostName()
        Gets the host name from an environment variable (COMPUTERNAME on Windows, HOSTNAME elsewhere).

        If you want to know what the network stack says is the host name, you should use InetAddress.getLocalHost().getHostName().

        Returns:
        the host name. Will be null if the environment variable is not defined.
        Since:
        3.6
      • getJavaHome

        public static java.io.File getJavaHome()
        Gets the current Java home directory as a File.
        Returns:
        a directory.
        Throws:
        java.lang.SecurityException - if a security manager exists and its checkPropertyAccess method doesn't allow access to the specified system property.
        Since:
        2.1
        See Also:
        SystemProperties.getJavaHome()
      • getJavaHomePath

        public static java.nio.file.Path getJavaHomePath()
        Gets the current Java home directory as a File.
        Returns:
        a directory.
        Throws:
        java.lang.SecurityException - if a security manager exists and its checkPropertyAccess method doesn't allow access to the specified system property.
        Since:
        3.18.0
        See Also:
        SystemProperties.getJavaHome()
      • getJavaIoTmpDir

        public static java.io.File getJavaIoTmpDir()
        Gets the current Java IO temporary directory as a File.
        Returns:
        a directory.
        Throws:
        java.lang.SecurityException - if a security manager exists and its checkPropertyAccess method doesn't allow access to the specified system property.
        Since:
        2.1
        See Also:
        SystemProperties.getJavaIoTmpdir()
      • getJavaIoTmpDirPath

        public static java.nio.file.Path getJavaIoTmpDirPath()
        Gets the current Java IO temporary directory as a Path.
        Returns:
        a directory.
        Throws:
        java.lang.SecurityException - if a security manager exists and its checkPropertyAccess method doesn't allow access to the specified system property.
        Since:
        3.18.0
        See Also:
        SystemProperties.getJavaIoTmpdir()
      • getUserDir

        public static java.io.File getUserDir()
        Gets the current user directory as a File.

        The result is based on the system property "user.dir".

        Returns:
        a directory.
        Throws:
        java.lang.SecurityException - if a security manager exists and its checkPropertyAccess method doesn't allow access to the specified system property.
        Since:
        2.1
        See Also:
        SystemProperties.getUserDir()
      • getUserDirPath

        public static java.nio.file.Path getUserDirPath()
        Gets the current user directory as a Path.

        The result is based on the system property "user.dir".

        Returns:
        a directory.
        Throws:
        java.lang.SecurityException - if a security manager exists and its checkPropertyAccess method doesn't allow access to the specified system property.
        Since:
        3.18.0
        See Also:
        SystemProperties.getUserDir()
      • getUserHome

        public static java.io.File getUserHome()
        Gets the current user home directory as a File.

        The result is based on the system property "user.home".

        Returns:
        a directory.
        Throws:
        java.lang.SecurityException - if a security manager exists and its checkPropertyAccess method doesn't allow access to the specified system property.
        Since:
        2.1
        See Also:
        SystemProperties.getUserHome()
      • getUserHomePath

        public static java.nio.file.Path getUserHomePath()
        Gets the current user home directory as a Path.

        The result is based on the system property "user.home".

        Returns:
        a directory.
        Throws:
        java.lang.SecurityException - if a security manager exists and its checkPropertyAccess method doesn't allow access to the specified system property.
        Since:
        3.18.0
        See Also:
        SystemProperties.getUserHome()
      • getUserName

        @Deprecated
        public static java.lang.String getUserName()
        Gets the current user name.

        The result is based on the system property "user.name".

        Returns:
        a name.
        Throws:
        java.lang.SecurityException - if a security manager exists and its checkPropertyAccess method doesn't allow access to the specified system property.
        Since:
        3.10
        See Also:
        SystemProperties.getUserName()
      • getUserName

        @Deprecated
        public static java.lang.String getUserName​(java.lang.String defaultValue)
        Gets the user name.

        The result is based on the system property "user.name".

        Parameters:
        defaultValue - A default value.
        Returns:
        a name.
        Throws:
        java.lang.SecurityException - if a security manager exists and its checkPropertyAccess method doesn't allow access to the specified system property.
        Since:
        3.10
        See Also:
        SystemProperties.getUserName()
      • isJavaAwtHeadless

        public static boolean isJavaAwtHeadless()
        Tests whether the JAVA_AWT_HEADLESS value is true.

        The result is based on the system property "java.awt.headless".

        Returns:
        true if JAVA_AWT_HEADLESS is "true", false otherwise.
        Since:
        2.1, Java 1.4
        See Also:
        JAVA_AWT_HEADLESS
      • isJavaVersionAtLeast

        public static boolean isJavaVersionAtLeast​(JavaVersion requiredVersion)
        Tests whether the Java version at least the requested version.

        The result is based on the system property saved in JAVA_SPECIFICATION_VERSION.

        Parameters:
        requiredVersion - the required version, for example 1.31f.
        Returns:
        true if the actual version is equal or greater than the required version.
      • isJavaVersionAtMost

        public static boolean isJavaVersionAtMost​(JavaVersion requiredVersion)
        Tests whether the Java version at most the requested version.

        The result is based on the system property saved in JAVA_SPECIFICATION_VERSION.

        Parameters:
        requiredVersion - the required version, for example 1.31f.
        Returns:
        true if the actual version is equal or less than the required version.
        Since:
        3.9