Class SystemUtils
java.lang.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:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringTheawt.toolkitSystem Property.static final StringThefile.encodingSystem Property.static final StringDeprecated.static final booleanIstrueif this is Java version 1.1 (also 1.1.x versions).static final booleanIstrueif this is Java version 1.2 (also 1.2.x versions).static final booleanIstrueif this is Java version 1.3 (also 1.3.x versions).static final booleanIstrueif this is Java version 1.4 (also 1.4.x versions).static final booleanIstrueif this is Java version 1.5 (also 1.5.x versions).static final booleanIstrueif this is Java version 1.6 (also 1.6.x versions).static final booleanIstrueif this is Java version 1.7 (also 1.7.x versions).static final booleanIstrueif this is Java version 1.8 (also 1.8.x versions).static final booleanDeprecated.As of release 3.5, replaced byIS_JAVA_9static final booleanIstrueif this is Java version 10 (also 10.x versions).static final booleanIstrueif this is Java version 11 (also 11.x versions).static final booleanIstrueif this is Java version 12 (also 12.x versions).static final booleanIstrueif this is Java version 13 (also 13.x versions).static final booleanIstrueif this is Java version 14 (also 14.x versions).static final booleanIstrueif this is Java version 15 (also 15.x versions).static final booleanIstrueif this is Java version 16 (also 16.x versions).static final booleanIstrueif this is Java version 17 (also 17.x versions).static final booleanIstrueif this is Java version 18 (also 18.x versions).static final booleanIstrueif this is Java version 19 (also 19.x versions).static final booleanIstrueif this is Java version 20 (also 20.x versions).static final booleanIstrueif this is Java version 21 (also 21.x versions).static final booleanIstrueif this is Java version 9 (also 9.x versions).static final booleanIstrueif this is IBM OS/400.static final booleanIstrueif this is AIX.static final booleanIstrueif this is FreeBSD.static final booleanIstrueif this is HP-UX.static final booleanIstrueif this is Irix.static final booleanIstrueif this is Linux.static final booleanIstrueif this is Mac.static final booleanIstrueif this is Mac.static final booleanIstrueif this is Mac OS X Big Sur.static final booleanIstrueif this is Mac OS X Catalina.static final booleanIstrueif this is Mac OS X Cheetah.static final booleanIstrueif this is Mac OS X El Capitan.static final booleanIstrueif this is Mac OS X High Sierra.static final booleanIstrueif this is Mac OS X Jaguar.static final booleanIstrueif this is Mac OS X Leopard.static final booleanIstrueif this is Mac OS X Lion.static final booleanIstrueif this is Mac OS X Mavericks.static final booleanIstrueif this is Mac OS X Mojave.static final booleanIstrueif this is Mac OS X Monterey.static final booleanIstrueif this is Mac OS X Mountain Lion.static final booleanIstrueif this is Mac OS X Panther.static final booleanIstrueif this is Mac OS X Puma.static final booleanIstrueif this is Mac OS X Sierra.static final booleanIstrueif this is Mac OS X Snow Leopard.static final booleanIstrueif this is Mac OS X Tiger.static final booleanIstrueif this is Mac OS X Ventura.static final booleanIstrueif this is Mac OS X Yosemite.static final booleanIstrueif this is NetBSD.static final booleanIstrueif this is OpenBSD.static final booleanIstrueif this is OS/2.static final booleanIstrueif this is Solaris.static final booleanIstrueif this is SunOS.static final booleanIstrueif this is a UNIX like system, as in any of AIX, HP-UX, Irix, Linux, MacOSX, Solaris or SUN OS.static final booleanIstrueif this is Windows.static final booleanIstrueif this is Windows 10.static final booleanIstrueif this is Windows 11.static final booleanIstrueif this is Windows 2000.static final booleanIstrueif this is Windows 2003.static final booleanIstrueif this is Windows Server 2008.static final booleanIstrueif this is Windows Server 2012.static final booleanIstrueif this is Windows 7.static final booleanIstrueif this is Windows 8.static final booleanIstrueif this is Windows 95.static final booleanIstrueif this is Windows 98.static final booleanIstrueif this is Windows ME.static final booleanIstrueif this is Windows NT.static final booleanIstrueif this is Windows Vista.static final booleanIstrueif this is Windows XP.static final booleanIstrueif this is z/OS.static final StringThejava.awt.fontsSystem Property.static final StringThejava.awt.graphicsenvSystem Property.static final StringThejava.awt.headlessSystem Property.static final StringThejava.awt.printerjobSystem Property.static final StringThejava.class.pathSystem Property.static final StringThejava.class.versionSystem Property.static final StringThejava.compilerSystem Property.static final StringThejava.endorsed.dirsSystem Property.static final StringThejava.ext.dirsSystem Property.static final StringThejava.homeSystem Property.static final StringDeprecated.static final StringThejava.io.tmpdirSystem Property.static final StringDeprecated.static final StringThejava.library.pathSystem Property.static final StringThejava.runtime.nameSystem Property.static final StringThejava.runtime.versionSystem Property.static final StringThejava.specification.nameSystem Property.static final StringThejava.specification.vendorSystem Property.static final StringThejava.specification.versionSystem Property.static final StringThejava.util.prefs.PreferencesFactorySystem Property.static final StringThejava.vendorSystem Property.static final StringThejava.vendor.urlSystem Property.static final StringThejava.versionSystem Property.static final StringThejava.vm.infoSystem Property.static final StringThejava.vm.nameSystem Property.static final StringThejava.vm.specification.nameSystem Property.static final StringThejava.vm.specification.vendorSystem Property.static final StringThejava.vm.specification.versionSystem Property.static final StringThejava.vm.vendorSystem Property.static final StringThejava.vm.versionSystem Property.static final StringDeprecated.UseSystem.lineSeparator()instead, since it does not require a privilege check.static final StringTheos.archSystem Property.static final StringTheos.nameSystem Property.static final StringTheos.versionSystem Property.static final StringDeprecated.UseFile.pathSeparator, since it is guaranteed to be a string containing a single character and it does not require a privilege check.static final StringTheuser.countryoruser.regionSystem Property.static final StringTheuser.dirSystem Property.static final StringDeprecated.static final StringTheuser.homeSystem Property.static final StringThe System property key for the user home directory.static final StringTheuser.languageSystem Property.static final StringTheuser.nameSystem Property.static final StringDeprecated.static final StringTheuser.timezoneSystem Property. -
Constructor Summary
ConstructorsConstructorDescriptionSystemUtils instances should NOT be constructed in standard programming. -
Method Summary
Modifier and TypeMethodDescriptionstatic StringgetEnvironmentVariable(String name, String defaultValue) Gets an environment variable, defaulting todefaultValueif the variable cannot be read.static StringGets the host name from an environment variable (COMPUTERNAME on Windows, HOSTNAME elsewhere).static FileGets the current Java home directory as aFile.static FileGets the current Java IO temporary directory as aFile.static FileGets the current user directory as aFile.static FileGets the current user home directory as aFile.static StringDeprecated.static StringgetUserName(String defaultValue) Gets the user name.static booleanReturns whether theJAVA_AWT_HEADLESSvalue istrue.static booleanisJavaVersionAtLeast(JavaVersion requiredVersion) Is the Java version at least the requested version.static booleanisJavaVersionAtMost(JavaVersion requiredVersion) Is the Java version at most the requested version.
-
Field Details
-
FILE_ENCODING
Thefile.encodingSystem Property.File encoding, such as
Cp1252.Defaults to
nullif 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)orSystem.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:
-
FILE_SEPARATOR
Deprecated.UseFile.separator, since it is guaranteed to be a string containing a single character and it does not require a privilege check.Thefile.separatorSystem Property. The file separator is:"/"on UNIX"\"on Windows.
Defaults to
nullif 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)orSystem.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:
-
JAVA_AWT_FONTS
Thejava.awt.fontsSystem Property.Defaults to
nullif 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)orSystem.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:
-
JAVA_AWT_GRAPHICSENV
Thejava.awt.graphicsenvSystem Property.Defaults to
nullif 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)orSystem.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:
-
JAVA_AWT_HEADLESS
Thejava.awt.headlessSystem Property. The value of this property is the String"true"or"false".Defaults to
nullif 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)orSystem.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:
-
JAVA_AWT_PRINTERJOB
Thejava.awt.printerjobSystem Property.Defaults to
nullif 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)orSystem.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:
-
JAVA_CLASS_PATH
Thejava.class.pathSystem Property. Java class path.Defaults to
nullif 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)orSystem.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:
-
JAVA_CLASS_VERSION
Thejava.class.versionSystem Property. Java class format version number.Defaults to
nullif 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)orSystem.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:
-
JAVA_COMPILER
Thejava.compilerSystem Property. Name of JIT compiler to use. First in JDK version 1.2. Not used in Sun JDKs after 1.2.Defaults to
nullif 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)orSystem.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:
-
JAVA_ENDORSED_DIRS
Thejava.endorsed.dirsSystem Property. Path of endorsed directory or directories.Defaults to
nullif 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)orSystem.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:
-
JAVA_EXT_DIRS
Thejava.ext.dirsSystem Property. Path of extension directory or directories.Defaults to
nullif 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)orSystem.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:
-
JAVA_HOME
Thejava.homeSystem Property. Java installation directory.Defaults to
nullif 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)orSystem.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:
-
JAVA_IO_TMPDIR
Thejava.io.tmpdirSystem Property. Default temp file path.Defaults to
nullif 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)orSystem.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:
-
JAVA_LIBRARY_PATH
Thejava.library.pathSystem Property. List of paths to search when loading libraries.Defaults to
nullif 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)orSystem.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:
-
JAVA_RUNTIME_NAME
Thejava.runtime.nameSystem Property. Java Runtime Environment name.Defaults to
nullif 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)orSystem.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:
-
JAVA_RUNTIME_VERSION
Thejava.runtime.versionSystem Property. Java Runtime Environment version.Defaults to
nullif 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)orSystem.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:
-
JAVA_SPECIFICATION_NAME
Thejava.specification.nameSystem Property. Java Runtime Environment specification name.Defaults to
nullif 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)orSystem.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:
-
JAVA_SPECIFICATION_VENDOR
Thejava.specification.vendorSystem Property. Java Runtime Environment specification vendor.Defaults to
nullif 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)orSystem.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:
-
JAVA_SPECIFICATION_VERSION
Thejava.specification.versionSystem Property. Java Runtime Environment specification version.Defaults to
nullif 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)orSystem.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:
-
JAVA_UTIL_PREFS_PREFERENCES_FACTORY
Thejava.util.prefs.PreferencesFactorySystem Property. A class name.Defaults to
nullif 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)orSystem.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:
-
JAVA_VENDOR
Thejava.vendorSystem Property. Java vendor-specific string.Defaults to
nullif 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)orSystem.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:
-
JAVA_VENDOR_URL
Thejava.vendor.urlSystem Property. Java vendor URL.Defaults to
nullif 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)orSystem.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:
-
JAVA_VERSION
Thejava.versionSystem Property. Java version number.Defaults to
nullif 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)orSystem.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:
-
JAVA_VM_INFO
Thejava.vm.infoSystem Property. Java Virtual Machine implementation info.Defaults to
nullif 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)orSystem.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:
-
JAVA_VM_NAME
Thejava.vm.nameSystem Property. Java Virtual Machine implementation name.Defaults to
nullif 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)orSystem.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:
-
JAVA_VM_SPECIFICATION_NAME
Thejava.vm.specification.nameSystem Property. Java Virtual Machine specification name.Defaults to
nullif 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)orSystem.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:
-
JAVA_VM_SPECIFICATION_VENDOR
Thejava.vm.specification.vendorSystem Property. Java Virtual Machine specification vendor.Defaults to
nullif 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)orSystem.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:
-
JAVA_VM_SPECIFICATION_VERSION
Thejava.vm.specification.versionSystem Property. Java Virtual Machine specification version.Defaults to
nullif 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)orSystem.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:
-
JAVA_VM_VENDOR
Thejava.vm.vendorSystem Property. Java Virtual Machine implementation vendor.Defaults to
nullif 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)orSystem.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:
-
JAVA_VM_VERSION
Thejava.vm.versionSystem Property. Java Virtual Machine implementation version.Defaults to
nullif 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)orSystem.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:
-
LINE_SEPARATOR
Deprecated.UseSystem.lineSeparator()instead, since it does not require a privilege check.Theline.separatorSystem Property. Line separator ("\n"on UNIX).Defaults to
nullif 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)orSystem.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:
-
OS_ARCH
Theos.archSystem Property. Operating system architecture.Defaults to
nullif 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)orSystem.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:
-
OS_NAME
Theos.nameSystem Property. Operating system name.Defaults to
nullif 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)orSystem.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:
-
OS_VERSION
Theos.versionSystem Property. Operating system version.Defaults to
nullif 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)orSystem.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:
-
PATH_SEPARATOR
Deprecated.UseFile.pathSeparator, since it is guaranteed to be a string containing a single character and it does not require a privilege check.Thepath.separatorSystem Property. Path separator (":"on UNIX).Defaults to
nullif 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)orSystem.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:
-
USER_COUNTRY
Theuser.countryoruser.regionSystem Property. User's country code, such as"GB". First in Java version 1.2 asuser.region. Renamed touser.countryin 1.4Defaults to
nullif 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)orSystem.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
Theuser.dirSystem Property. User's current working directory.Defaults to
nullif 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)orSystem.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:
-
USER_HOME
Theuser.homeSystem Property. User's home directory.Defaults to
nullif 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)orSystem.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:
-
USER_LANGUAGE
Theuser.languageSystem Property. User's language code, such as"en".Defaults to
nullif 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)orSystem.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:
-
USER_NAME
Theuser.nameSystem Property. User's account name.Defaults to
nullif 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)orSystem.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:
-
USER_TIMEZONE
Theuser.timezoneSystem Property. For example:"America/Los_Angeles".Defaults to
nullif 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)orSystem.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:
-
IS_JAVA_1_1
public static final boolean IS_JAVA_1_1Istrueif this is Java version 1.1 (also 1.1.x versions).The field will return
falseifJAVA_VERSIONisnull.This value is initialized when the class is loaded.
-
IS_JAVA_1_2
public static final boolean IS_JAVA_1_2Istrueif this is Java version 1.2 (also 1.2.x versions).The field will return
falseifJAVA_VERSIONisnull.This value is initialized when the class is loaded.
-
IS_JAVA_1_3
public static final boolean IS_JAVA_1_3Istrueif this is Java version 1.3 (also 1.3.x versions).The field will return
falseifJAVA_VERSIONisnull.This value is initialized when the class is loaded.
-
IS_JAVA_1_4
public static final boolean IS_JAVA_1_4Istrueif this is Java version 1.4 (also 1.4.x versions).The field will return
falseifJAVA_VERSIONisnull.This value is initialized when the class is loaded.
-
IS_JAVA_1_5
public static final boolean IS_JAVA_1_5Istrueif this is Java version 1.5 (also 1.5.x versions).The field will return
falseifJAVA_VERSIONisnull.This value is initialized when the class is loaded.
-
IS_JAVA_1_6
public static final boolean IS_JAVA_1_6Istrueif this is Java version 1.6 (also 1.6.x versions).The field will return
falseifJAVA_VERSIONisnull.This value is initialized when the class is loaded.
-
IS_JAVA_1_7
public static final boolean IS_JAVA_1_7Istrueif this is Java version 1.7 (also 1.7.x versions).The field will return
falseifJAVA_VERSIONisnull.This value is initialized when the class is loaded.
- Since:
- 3.0
-
IS_JAVA_1_8
public static final boolean IS_JAVA_1_8Istrueif this is Java version 1.8 (also 1.8.x versions).The field will return
falseifJAVA_VERSIONisnull.This value is initialized when the class is loaded.
- Since:
- 3.3.2
-
IS_JAVA_1_9
Deprecated.As of release 3.5, replaced byIS_JAVA_9Istrueif this is Java version 1.9 (also 1.9.x versions).The field will return
falseifJAVA_VERSIONisnull.This value is initialized when the class is loaded.
- Since:
- 3.4
-
IS_JAVA_9
public static final boolean IS_JAVA_9Istrueif this is Java version 9 (also 9.x versions).The field will return
falseifJAVA_VERSIONisnull.This value is initialized when the class is loaded.
- Since:
- 3.5
-
IS_JAVA_10
public static final boolean IS_JAVA_10Istrueif this is Java version 10 (also 10.x versions).The field will return
falseifJAVA_VERSIONisnull.This value is initialized when the class is loaded.
- Since:
- 3.7
-
IS_JAVA_11
public static final boolean IS_JAVA_11Istrueif this is Java version 11 (also 11.x versions).The field will return
falseifJAVA_VERSIONisnull.This value is initialized when the class is loaded.
- Since:
- 3.8
-
IS_JAVA_12
public static final boolean IS_JAVA_12Istrueif this is Java version 12 (also 12.x versions).The field will return
falseifJAVA_VERSIONisnull.This value is initialized when the class is loaded.
- Since:
- 3.9
-
IS_JAVA_13
public static final boolean IS_JAVA_13Istrueif this is Java version 13 (also 13.x versions).The field will return
falseifJAVA_VERSIONisnull.This value is initialized when the class is loaded.
- Since:
- 3.9
-
IS_JAVA_14
public static final boolean IS_JAVA_14Istrueif this is Java version 14 (also 14.x versions).The field will return
falseifJAVA_VERSIONisnull.This value is initialized when the class is loaded.
- Since:
- 3.10
-
IS_JAVA_15
public static final boolean IS_JAVA_15Istrueif this is Java version 15 (also 15.x versions).The field will return
falseifJAVA_VERSIONisnull.This value is initialized when the class is loaded.
- Since:
- 3.10
-
IS_JAVA_16
public static final boolean IS_JAVA_16Istrueif this is Java version 16 (also 16.x versions).The field will return
falseifJAVA_VERSIONisnull.This value is initialized when the class is loaded.
- Since:
- 3.13.0
-
IS_JAVA_17
public static final boolean IS_JAVA_17Istrueif this is Java version 17 (also 17.x versions).The field will return
falseifJAVA_VERSIONisnull.This value is initialized when the class is loaded.
- Since:
- 3.13.0
-
IS_JAVA_18
public static final boolean IS_JAVA_18Istrueif this is Java version 18 (also 18.x versions).The field will return
falseifJAVA_VERSIONisnull.This value is initialized when the class is loaded.
- Since:
- 3.13.0
-
IS_JAVA_19
public static final boolean IS_JAVA_19Istrueif this is Java version 19 (also 19.x versions).The field will return
falseifJAVA_VERSIONisnull.This value is initialized when the class is loaded.
- Since:
- 3.13.0
-
IS_JAVA_20
public static final boolean IS_JAVA_20Istrueif this is Java version 20 (also 20.x versions).The field will return
falseifJAVA_VERSIONisnull.This value is initialized when the class is loaded.
- Since:
- 3.13.0
-
IS_JAVA_21
public static final boolean IS_JAVA_21Istrueif this is Java version 21 (also 21.x versions).The field will return
falseifJAVA_VERSIONisnull.This value is initialized when the class is loaded.
- Since:
- 3.13.0
-
IS_OS_AIX
public static final boolean IS_OS_AIXIstrueif this is AIX.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_HP_UX
public static final boolean IS_OS_HP_UXIstrueif this is HP-UX.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_400
public static final boolean IS_OS_400Istrueif this is IBM OS/400.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 3.3
-
IS_OS_IRIX
public static final boolean IS_OS_IRIXIstrueif this is Irix.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_LINUX
public static final boolean IS_OS_LINUXIstrueif this is Linux.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_MAC
public static final boolean IS_OS_MACIstrueif this is Mac.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_MAC_OSX
public static final boolean IS_OS_MAC_OSXIstrueif this is Mac.The field will return
falseifOS_NAMEisnull.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_CHEETAHIstrueif this is Mac OS X Cheetah.The field will return
falseifOS_NAMEisnull.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_PUMAIstrueif this is Mac OS X Puma.The field will return
falseifOS_NAMEisnull.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_JAGUARIstrueif this is Mac OS X Jaguar.The field will return
falseifOS_NAMEisnull.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_PANTHERIstrueif this is Mac OS X Panther.The field will return
falseifOS_NAMEisnull.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_TIGERIstrueif this is Mac OS X Tiger.The field will return
falseifOS_NAMEisnull.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_LEOPARDIstrueif this is Mac OS X Leopard.The field will return
falseifOS_NAMEisnull.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_LEOPARDIstrueif this is Mac OS X Snow Leopard.The field will return
falseifOS_NAMEisnull.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_LIONIstrueif this is Mac OS X Lion.The field will return
falseifOS_NAMEisnull.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_LIONIstrueif this is Mac OS X Mountain Lion.The field will return
falseifOS_NAMEisnull.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_MAVERICKSIstrueif this is Mac OS X Mavericks.The field will return
falseifOS_NAMEisnull.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_YOSEMITEIstrueif this is Mac OS X Yosemite.The field will return
falseifOS_NAMEisnull.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_CAPITANIstrueif this is Mac OS X El Capitan.The field will return
falseifOS_NAMEisnull.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_SIERRAIstrueif this is Mac OS X Sierra.The field will return
falseifOS_NAMEisnull.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_SIERRAIstrueif this is Mac OS X High Sierra.The field will return
falseifOS_NAMEisnull.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_MOJAVEIstrueif this is Mac OS X Mojave.The field will return
falseifOS_NAMEisnull.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_CATALINAIstrueif this is Mac OS X Catalina.The field will return
falseifOS_NAMEisnull.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_SURIstrueif this is Mac OS X Big Sur.The field will return
falseifOS_NAMEisnull.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_MONTEREYIstrueif this is Mac OS X Monterey.The field will return
falseifOS_NAMEisnull.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_VENTURAIstrueif this is Mac OS X Ventura.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 3.13.0
-
IS_OS_FREE_BSD
public static final boolean IS_OS_FREE_BSDIstrueif this is FreeBSD.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 3.1
-
IS_OS_OPEN_BSD
public static final boolean IS_OS_OPEN_BSDIstrueif this is OpenBSD.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 3.1
-
IS_OS_NET_BSD
public static final boolean IS_OS_NET_BSDIstrueif this is NetBSD.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 3.1
-
IS_OS_OS2
public static final boolean IS_OS_OS2Istrueif this is OS/2.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_SOLARIS
public static final boolean IS_OS_SOLARISIstrueif this is Solaris.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_SUN_OS
public static final boolean IS_OS_SUN_OSIstrueif this is SunOS.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_UNIX
public static final boolean IS_OS_UNIXIstrueif this is a UNIX like system, as in any of AIX, HP-UX, Irix, Linux, MacOSX, Solaris or SUN OS.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 2.1
-
IS_OS_WINDOWS
public static final boolean IS_OS_WINDOWSIstrueif this is Windows.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_WINDOWS_2000
public static final boolean IS_OS_WINDOWS_2000Istrueif this is Windows 2000.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_WINDOWS_2003
public static final boolean IS_OS_WINDOWS_2003Istrueif this is Windows 2003.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 3.1
-
IS_OS_WINDOWS_2008
public static final boolean IS_OS_WINDOWS_2008Istrueif this is Windows Server 2008.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 3.1
-
IS_OS_WINDOWS_2012
public static final boolean IS_OS_WINDOWS_2012Istrueif this is Windows Server 2012.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 3.4
-
IS_OS_WINDOWS_95
public static final boolean IS_OS_WINDOWS_95Istrueif this is Windows 95.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_WINDOWS_98
public static final boolean IS_OS_WINDOWS_98Istrueif this is Windows 98.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_WINDOWS_ME
public static final boolean IS_OS_WINDOWS_MEIstrueif this is Windows ME.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_WINDOWS_NT
public static final boolean IS_OS_WINDOWS_NTIstrueif this is Windows NT.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_WINDOWS_XP
public static final boolean IS_OS_WINDOWS_XPIstrueif this is Windows XP.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_WINDOWS_VISTA
public static final boolean IS_OS_WINDOWS_VISTAIstrueif this is Windows Vista.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 2.4
-
IS_OS_WINDOWS_7
public static final boolean IS_OS_WINDOWS_7Istrueif this is Windows 7.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 3.0
-
IS_OS_WINDOWS_8
public static final boolean IS_OS_WINDOWS_8Istrueif this is Windows 8.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 3.2
-
IS_OS_WINDOWS_10
public static final boolean IS_OS_WINDOWS_10Istrueif this is Windows 10.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 3.5
-
IS_OS_WINDOWS_11
public static final boolean IS_OS_WINDOWS_11Istrueif this is Windows 11.The field will return
falseifOS_NAMEisnull.OpenJDK fixed the return value for
os.nameon 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_ZOSIstrueif this is z/OS.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 3.5
-
USER_HOME_KEY
The System property key for the user home directory.- See Also:
-
USER_NAME_KEY
Deprecated.The System property key for the user name.- See Also:
-
USER_DIR_KEY
Deprecated.The System property key for the user directory.- See Also:
-
JAVA_IO_TMPDIR_KEY
Deprecated.The System property key for the Java IO temporary directory.- See Also:
-
JAVA_HOME_KEY
Deprecated.The System property key for the Java home directory.- See Also:
-
AWT_TOOLKIT
Theawt.toolkitSystem Property.Holds a class name, on Windows XP this is
sun.awt.windows.WToolkit.On platforms without a GUI, this value is
null.Defaults to
nullif 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)orSystem.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:
-
-
Constructor Details
-
SystemUtils
public SystemUtils()SystemUtils instances should NOT be constructed in standard programming. Instead, the class should be used asSystemUtils.FILE_SEPARATOR.This constructor is public to permit tools that require a JavaBean instance to operate.
-
-
Method Details
-
getEnvironmentVariable
Gets an environment variable, defaulting todefaultValueif the variable cannot be read.If a
SecurityExceptionis caught, the return value isdefaultValueand a message is written toSystem.err.- Parameters:
name- the environment variable namedefaultValue- the default value- Returns:
- the environment variable value or
defaultValueif a security problem occurs - Since:
- 3.8
-
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
nullif the environment variable is not defined. - Since:
- 3.6
-
getJavaHome
Gets the current Java home directory as aFile.- Returns:
- a directory
- Throws:
SecurityException- if a security manager exists and itscheckPropertyAccessmethod doesn't allow access to the specified system property.- Since:
- 2.1
- See Also:
-
getJavaIoTmpDir
Gets the current Java IO temporary directory as aFile.- Returns:
- a directory
- Throws:
SecurityException- if a security manager exists and itscheckPropertyAccessmethod doesn't allow access to the specified system property.- Since:
- 2.1
- See Also:
-
getUserDir
Gets the current user directory as aFile.- Returns:
- a directory
- Throws:
SecurityException- if a security manager exists and itscheckPropertyAccessmethod doesn't allow access to the specified system property.- Since:
- 2.1
- See Also:
-
getUserHome
Gets the current user home directory as aFile.- Returns:
- a directory
- Throws:
SecurityException- if a security manager exists and itscheckPropertyAccessmethod doesn't allow access to the specified system property.- Since:
- 2.1
- See Also:
-
getUserName
Deprecated.Gets the current user name.- Returns:
- a name
- Throws:
SecurityException- if a security manager exists and itscheckPropertyAccessmethod doesn't allow access to the specified system property.- Since:
- 3.10
- See Also:
-
getUserName
Gets the user name.- Parameters:
defaultValue- A default value.- Returns:
- a name
- Throws:
SecurityException- if a security manager exists and itscheckPropertyAccessmethod doesn't allow access to the specified system property.- Since:
- 3.10
- See Also:
-
isJavaAwtHeadless
public static boolean isJavaAwtHeadless()Returns whether theJAVA_AWT_HEADLESSvalue istrue.- Returns:
trueifJAVA_AWT_HEADLESSis"true",falseotherwise.- Since:
- 2.1, Java 1.4
- See Also:
-
isJavaVersionAtLeast
Is the Java version at least the requested version.- Parameters:
requiredVersion- the required version, for example 1.31f- Returns:
trueif the actual version is equal or greater than the required version
-
isJavaVersionAtMost
Is the Java version at most the requested version.Example input:
- Parameters:
requiredVersion- the required version, for example 1.31f- Returns:
trueif the actual version is equal or less than the required version- Since:
- 3.9
-
File.separator, since it is guaranteed to be a string containing a single character and it does not require a privilege check.