Class SystemUtils
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 22 (also 22.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 Android.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 macOS X Big Sur.static final booleanIstrueif this is macOS X Catalina.static final booleanIstrueif this is macOS X Cheetah.static final booleanIstrueif this is macOS X El Capitan.static final booleanIstrueif this is macOS X High Sierra.static final booleanIstrueif this is macOS X Jaguar.static final booleanIstrueif this is macOS X Leopard.static final booleanIstrueif this is macOS X Lion.static final booleanIstrueif this is macOS X Mavericks.static final booleanIstrueif this is macOS X Mojave.static final booleanIstrueif this is macOS X Monterey.static final booleanIstrueif this is macOS X Mountain Lion.static final booleanIstrueif this is macOS X Panther.static final booleanIstrueif this is macOS X Puma.static final booleanIstrueif this is macOS X Sierra.static final booleanIstrueif this is macOS X Snow Leopard.static final booleanIstrueif this is macOS X Sonoma.static final booleanIstrueif this is macOS X Tiger.static final booleanIstrueif this is macOS X Ventura.static final booleanIstrueif this is macOS 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) Deprecated.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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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_JAVA_22
Istrueif this is Java version 22 (also 22.x versions).The field will return
falseifJAVA_VERSIONisnull.This value is initialized when the class is loaded.
- Since:
- 3.15.0
-
IS_OS_AIX
Istrueif this is AIX.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_ANDROID
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif this is Irix.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_LINUX
Istrueif this is Linux.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_MAC
Istrueif 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
Istrueif 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
Istrueif this is macOS 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
Istrueif this is macOS 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
Istrueif this is macOS 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
Istrueif this is macOS 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
Istrueif this is macOS 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
Istrueif this is macOS 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
Istrueif this is macOS 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
Istrueif this is macOS 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
Istrueif this is macOS 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
Istrueif this is macOS 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
Istrueif this is macOS 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
Istrueif this is macOS 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
Istrueif this is macOS 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
Istrueif this is macOS 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
Istrueif this is macOS 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
Istrueif this is macOS 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
Istrueif this is macOS 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
Istrueif this is macOS 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
Istrueif this is macOS X Ventura.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 3.13.0
-
IS_OS_MAC_OSX_SONOMA
Istrueif this is macOS X Sonoma.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 3.15.0
-
IS_OS_FREE_BSD
Istrueif 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
Istrueif 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
Istrueif this is NetBSD.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 3.1
-
IS_OS_OS2
Istrueif 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
Istrueif 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
Istrueif this is SunOS.The field will return
falseifOS_NAMEisnull.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_UNIX
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Istrueif 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
Deprecated.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
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.