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
Modifier and TypeFieldDescriptionstatic final String
Theawt.toolkit
System Property.static final String
Thefile.encoding
System Property.static final String
Deprecated.static final boolean
Istrue
if this is Java version 1.1 (also 1.1.x versions).static final boolean
Istrue
if this is Java version 1.2 (also 1.2.x versions).static final boolean
Istrue
if this is Java version 1.3 (also 1.3.x versions).static final boolean
Istrue
if this is Java version 1.4 (also 1.4.x versions).static final boolean
Istrue
if this is Java version 1.5 (also 1.5.x versions).static final boolean
Istrue
if this is Java version 1.6 (also 1.6.x versions).static final boolean
Istrue
if this is Java version 1.7 (also 1.7.x versions).static final boolean
Istrue
if this is Java version 1.8 (also 1.8.x versions).static final boolean
Deprecated.As of release 3.5, replaced byIS_JAVA_9
static final boolean
Istrue
if this is Java version 10 (also 10.x versions).static final boolean
Istrue
if this is Java version 11 (also 11.x versions).static final boolean
Istrue
if this is Java version 12 (also 12.x versions).static final boolean
Istrue
if this is Java version 13 (also 13.x versions).static final boolean
Istrue
if this is Java version 14 (also 14.x versions).static final boolean
Istrue
if this is Java version 15 (also 15.x versions).static final boolean
Istrue
if this is Java version 16 (also 16.x versions).static final boolean
Istrue
if this is Java version 17 (also 17.x versions).static final boolean
Istrue
if this is Java version 18 (also 18.x versions).static final boolean
Istrue
if this is Java version 19 (also 19.x versions).static final boolean
Istrue
if this is Java version 20 (also 20.x versions).static final boolean
Istrue
if this is Java version 21 (also 21.x versions).static final boolean
Istrue
if this is Java version 22 (also 22.x versions).static final boolean
Istrue
if this is Java version 9 (also 9.x versions).static final boolean
Istrue
if this is IBM OS/400.static final boolean
Istrue
if this is AIX.static final boolean
Istrue
if this is Android.static final boolean
Istrue
if this is FreeBSD.static final boolean
Istrue
if this is HP-UX.static final boolean
Istrue
if this is Irix.static final boolean
Istrue
if this is Linux.static final boolean
Istrue
if this is Mac.static final boolean
Istrue
if this is Mac.static final boolean
Istrue
if this is macOS X Big Sur.static final boolean
Istrue
if this is macOS X Catalina.static final boolean
Istrue
if this is macOS X Cheetah.static final boolean
Istrue
if this is macOS X El Capitan.static final boolean
Istrue
if this is macOS X High Sierra.static final boolean
Istrue
if this is macOS X Jaguar.static final boolean
Istrue
if this is macOS X Leopard.static final boolean
Istrue
if this is macOS X Lion.static final boolean
Istrue
if this is macOS X Mavericks.static final boolean
Istrue
if this is macOS X Mojave.static final boolean
Istrue
if this is macOS X Monterey.static final boolean
Istrue
if this is macOS X Mountain Lion.static final boolean
Istrue
if this is macOS X Panther.static final boolean
Istrue
if this is macOS X Puma.static final boolean
Istrue
if this is macOS X Sierra.static final boolean
Istrue
if this is macOS X Snow Leopard.static final boolean
Istrue
if this is macOS X Sonoma.static final boolean
Istrue
if this is macOS X Tiger.static final boolean
Istrue
if this is macOS X Ventura.static final boolean
Istrue
if this is macOS X Yosemite.static final boolean
Istrue
if this is NetBSD.static final boolean
Istrue
if this is OpenBSD.static final boolean
Istrue
if this is OS/2.static final boolean
Istrue
if this is Solaris.static final boolean
Istrue
if this is SunOS.static final boolean
Istrue
if this is a UNIX like system, as in any of AIX, HP-UX, Irix, Linux, MacOSX, Solaris or SUN OS.static final boolean
Istrue
if this is Windows.static final boolean
Istrue
if this is Windows 10.static final boolean
Istrue
if this is Windows 11.static final boolean
Istrue
if this is Windows 2000.static final boolean
Istrue
if this is Windows 2003.static final boolean
Istrue
if this is Windows Server 2008.static final boolean
Istrue
if this is Windows Server 2012.static final boolean
Istrue
if this is Windows 7.static final boolean
Istrue
if this is Windows 8.static final boolean
Istrue
if this is Windows 95.static final boolean
Istrue
if this is Windows 98.static final boolean
Istrue
if this is Windows ME.static final boolean
Istrue
if this is Windows NT.static final boolean
Istrue
if this is Windows Vista.static final boolean
Istrue
if this is Windows XP.static final boolean
Istrue
if this is z/OS.static final String
Thejava.awt.fonts
System Property.static final String
Thejava.awt.graphicsenv
System Property.static final String
Thejava.awt.headless
System Property.static final String
Thejava.awt.printerjob
System Property.static final String
Thejava.class.path
System Property.static final String
Thejava.class.version
System Property.static final String
Thejava.compiler
System Property.static final String
Thejava.endorsed.dirs
System Property.static final String
Thejava.ext.dirs
System Property.static final String
Thejava.home
System Property.static final String
Deprecated.static final String
Thejava.io.tmpdir
System Property.static final String
Deprecated.static final String
Thejava.library.path
System Property.static final String
Thejava.runtime.name
System Property.static final String
Thejava.runtime.version
System Property.static final String
Thejava.specification.name
System Property.static final String
Thejava.specification.vendor
System Property.static final String
Thejava.specification.version
System Property.static final String
Thejava.util.prefs.PreferencesFactory
System Property.static final String
Thejava.vendor
System Property.static final String
Thejava.vendor.url
System Property.static final String
Thejava.version
System Property.static final String
Thejava.vm.info
System Property.static final String
Thejava.vm.name
System Property.static final String
Thejava.vm.specification.name
System Property.static final String
Thejava.vm.specification.vendor
System Property.static final String
Thejava.vm.specification.version
System Property.static final String
Thejava.vm.vendor
System Property.static final String
Thejava.vm.version
System Property.static final String
Deprecated.UseSystem.lineSeparator()
instead, since it does not require a privilege check.static final String
Theos.arch
System Property.static final String
Theos.name
System Property.static final String
Theos.version
System Property.static final String
Deprecated.UseFile.pathSeparator
, since it is guaranteed to be a string containing a single character and it does not require a privilege check.static final String
Theuser.country
oruser.region
System Property.static final String
Theuser.dir
System Property.static final String
Deprecated.static final String
Theuser.home
System Property.static final String
The System property key for the user home directory.static final String
Theuser.language
System Property.static final String
Theuser.name
System Property.static final String
Deprecated.static final String
Theuser.timezone
System Property. -
Constructor Summary
ConstructorDescriptionSystemUtils instances should NOT be constructed in standard programming. -
Method Summary
Modifier and TypeMethodDescriptionstatic String
getEnvironmentVariable
(String name, String defaultValue) Gets an environment variable, defaulting todefaultValue
if the variable cannot be read.static String
Gets the host name from an environment variable (COMPUTERNAME on Windows, HOSTNAME elsewhere).static File
Gets the current Java home directory as aFile
.static File
Gets the current Java IO temporary directory as aFile
.static File
Gets the current user directory as aFile
.static File
Gets the current user home directory as aFile
.static String
Deprecated.static String
getUserName
(String defaultValue) Deprecated.static boolean
Returns whether theJAVA_AWT_HEADLESS
value istrue
.static boolean
isJavaVersionAtLeast
(JavaVersion requiredVersion) Is the Java version at least the requested version.static boolean
isJavaVersionAtMost
(JavaVersion requiredVersion) Is the Java version at most the requested version.
-
Field Details
-
FILE_ENCODING
Thefile.encoding
System Property.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)
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.separator
System Property. 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)
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.fonts
System Property.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)
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.graphicsenv
System Property.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)
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.headless
System Property. 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)
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.printerjob
System Property.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)
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.path
System Property. 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)
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.version
System Property. 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)
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.compiler
System Property. 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)
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.dirs
System Property. 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)
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.dirs
System Property. 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)
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.home
System Property. 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)
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.tmpdir
System Property. 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)
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.path
System Property. 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)
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.name
System Property. 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)
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.version
System Property. 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)
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.name
System Property. 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)
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.vendor
System Property. 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)
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.version
System Property. 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)
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.PreferencesFactory
System Property. 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)
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.vendor
System Property. 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)
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.url
System Property. 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)
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.version
System Property. 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)
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.info
System Property. 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)
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.name
System Property. 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)
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.name
System Property. 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)
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.vendor
System Property. 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)
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.version
System Property. 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)
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.vendor
System Property. 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)
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.version
System Property. 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)
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.separator
System Property. 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)
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.arch
System Property. 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)
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.name
System Property. 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)
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.version
System Property. 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)
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.separator
System Property. 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)
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.country
oruser.region
System Property. User's country code, such as"GB"
. First in Java version 1.2 asuser.region
. Renamed touser.country
in 1.4Defaults 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)
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.dir
System Property. 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)
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.home
System Property. 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)
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.language
System Property. 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)
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.name
System Property. 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)
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.timezone
System Property. 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)
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
Istrue
if this is Java version 1.1 (also 1.1.x versions).The field will return
false
ifJAVA_VERSION
isnull
.This value is initialized when the class is loaded.
-
IS_JAVA_1_2
Istrue
if this is Java version 1.2 (also 1.2.x versions).The field will return
false
ifJAVA_VERSION
isnull
.This value is initialized when the class is loaded.
-
IS_JAVA_1_3
Istrue
if this is Java version 1.3 (also 1.3.x versions).The field will return
false
ifJAVA_VERSION
isnull
.This value is initialized when the class is loaded.
-
IS_JAVA_1_4
Istrue
if this is Java version 1.4 (also 1.4.x versions).The field will return
false
ifJAVA_VERSION
isnull
.This value is initialized when the class is loaded.
-
IS_JAVA_1_5
Istrue
if this is Java version 1.5 (also 1.5.x versions).The field will return
false
ifJAVA_VERSION
isnull
.This value is initialized when the class is loaded.
-
IS_JAVA_1_6
Istrue
if this is Java version 1.6 (also 1.6.x versions).The field will return
false
ifJAVA_VERSION
isnull
.This value is initialized when the class is loaded.
-
IS_JAVA_1_7
Istrue
if this is Java version 1.7 (also 1.7.x versions).The field will return
false
ifJAVA_VERSION
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.0
-
IS_JAVA_1_8
Istrue
if this is Java version 1.8 (also 1.8.x versions).The field will return
false
ifJAVA_VERSION
isnull
.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_9
Istrue
if this is Java version 1.9 (also 1.9.x versions).The field will return
false
ifJAVA_VERSION
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.4
-
IS_JAVA_9
Istrue
if this is Java version 9 (also 9.x versions).The field will return
false
ifJAVA_VERSION
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.5
-
IS_JAVA_10
Istrue
if this is Java version 10 (also 10.x versions).The field will return
false
ifJAVA_VERSION
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.7
-
IS_JAVA_11
Istrue
if this is Java version 11 (also 11.x versions).The field will return
false
ifJAVA_VERSION
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.8
-
IS_JAVA_12
Istrue
if this is Java version 12 (also 12.x versions).The field will return
false
ifJAVA_VERSION
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.9
-
IS_JAVA_13
Istrue
if this is Java version 13 (also 13.x versions).The field will return
false
ifJAVA_VERSION
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.9
-
IS_JAVA_14
Istrue
if this is Java version 14 (also 14.x versions).The field will return
false
ifJAVA_VERSION
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.10
-
IS_JAVA_15
Istrue
if this is Java version 15 (also 15.x versions).The field will return
false
ifJAVA_VERSION
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.10
-
IS_JAVA_16
Istrue
if this is Java version 16 (also 16.x versions).The field will return
false
ifJAVA_VERSION
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.13.0
-
IS_JAVA_17
Istrue
if this is Java version 17 (also 17.x versions).The field will return
false
ifJAVA_VERSION
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.13.0
-
IS_JAVA_18
Istrue
if this is Java version 18 (also 18.x versions).The field will return
false
ifJAVA_VERSION
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.13.0
-
IS_JAVA_19
Istrue
if this is Java version 19 (also 19.x versions).The field will return
false
ifJAVA_VERSION
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.13.0
-
IS_JAVA_20
Istrue
if this is Java version 20 (also 20.x versions).The field will return
false
ifJAVA_VERSION
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.13.0
-
IS_JAVA_21
Istrue
if this is Java version 21 (also 21.x versions).The field will return
false
ifJAVA_VERSION
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.13.0
-
IS_JAVA_22
Istrue
if this is Java version 22 (also 22.x versions).The field will return
false
ifJAVA_VERSION
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.15.0
-
IS_OS_AIX
Istrue
if this is AIX.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_ANDROID
Istrue
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
Istrue
if this is HP-UX.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_400
Istrue
if this is IBM OS/400.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.3
-
IS_OS_IRIX
Istrue
if this is Irix.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_LINUX
Istrue
if this is Linux.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_MAC
Istrue
if this is Mac.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_MAC_OSX
Istrue
if this is Mac.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_MAC_OSX_CHEETAH
Istrue
if this is macOS X Cheetah.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.4
-
IS_OS_MAC_OSX_PUMA
Istrue
if this is macOS X Puma.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.4
-
IS_OS_MAC_OSX_JAGUAR
Istrue
if this is macOS X Jaguar.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.4
-
IS_OS_MAC_OSX_PANTHER
Istrue
if this is macOS X Panther.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.4
-
IS_OS_MAC_OSX_TIGER
Istrue
if this is macOS X Tiger.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.4
-
IS_OS_MAC_OSX_LEOPARD
Istrue
if this is macOS X Leopard.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.4
-
IS_OS_MAC_OSX_SNOW_LEOPARD
Istrue
if this is macOS X Snow Leopard.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.4
-
IS_OS_MAC_OSX_LION
Istrue
if this is macOS X Lion.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.4
-
IS_OS_MAC_OSX_MOUNTAIN_LION
Istrue
if this is macOS X Mountain Lion.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.4
-
IS_OS_MAC_OSX_MAVERICKS
Istrue
if this is macOS X Mavericks.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.4
-
IS_OS_MAC_OSX_YOSEMITE
Istrue
if this is macOS X Yosemite.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.4
-
IS_OS_MAC_OSX_EL_CAPITAN
Istrue
if this is macOS X El Capitan.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.5
-
IS_OS_MAC_OSX_SIERRA
Istrue
if this is macOS X Sierra.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.12.0
-
IS_OS_MAC_OSX_HIGH_SIERRA
Istrue
if this is macOS X High Sierra.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.12.0
-
IS_OS_MAC_OSX_MOJAVE
Istrue
if this is macOS X Mojave.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.12.0
-
IS_OS_MAC_OSX_CATALINA
Istrue
if this is macOS X Catalina.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.12.0
-
IS_OS_MAC_OSX_BIG_SUR
Istrue
if this is macOS X Big Sur.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.12.0
-
IS_OS_MAC_OSX_MONTEREY
Istrue
if this is macOS X Monterey.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.13.0
-
IS_OS_MAC_OSX_VENTURA
Istrue
if this is macOS X Ventura.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.13.0
-
IS_OS_MAC_OSX_SONOMA
Istrue
if this is macOS X Sonoma.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.15.0
-
IS_OS_FREE_BSD
Istrue
if this is FreeBSD.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.1
-
IS_OS_OPEN_BSD
Istrue
if this is OpenBSD.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.1
-
IS_OS_NET_BSD
Istrue
if this is NetBSD.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.1
-
IS_OS_OS2
Istrue
if this is OS/2.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_SOLARIS
Istrue
if this is Solaris.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_SUN_OS
Istrue
if this is SunOS.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_UNIX
Istrue
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
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 2.1
-
IS_OS_WINDOWS
Istrue
if this is Windows.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_WINDOWS_2000
Istrue
if this is Windows 2000.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_WINDOWS_2003
Istrue
if this is Windows 2003.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.1
-
IS_OS_WINDOWS_2008
Istrue
if this is Windows Server 2008.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.1
-
IS_OS_WINDOWS_2012
Istrue
if this is Windows Server 2012.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.4
-
IS_OS_WINDOWS_95
Istrue
if this is Windows 95.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_WINDOWS_98
Istrue
if this is Windows 98.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_WINDOWS_ME
Istrue
if this is Windows ME.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_WINDOWS_NT
Istrue
if this is Windows NT.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_WINDOWS_XP
Istrue
if this is Windows XP.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 2.0
-
IS_OS_WINDOWS_VISTA
Istrue
if this is Windows Vista.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 2.4
-
IS_OS_WINDOWS_7
Istrue
if this is Windows 7.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.0
-
IS_OS_WINDOWS_8
Istrue
if this is Windows 8.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.2
-
IS_OS_WINDOWS_10
Istrue
if this is Windows 10.The field will return
false
ifOS_NAME
isnull
.This value is initialized when the class is loaded.
- Since:
- 3.5
-
IS_OS_WINDOWS_11
Istrue
if this is Windows 11.The field will return
false
ifOS_NAME
isnull
.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
Istrue
if this is z/OS.The field will return
false
ifOS_NAME
isnull
.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.toolkit
System 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
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)
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 todefaultValue
if the variable cannot be read.If a
SecurityException
is caught, the return value isdefaultValue
and a message is written toSystem.err
.- Parameters:
name
- the environment variable namedefaultValue
- the default value- Returns:
- the environment variable value or
defaultValue
if 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
null
if 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 itscheckPropertyAccess
method 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 itscheckPropertyAccess
method 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 itscheckPropertyAccess
method 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 itscheckPropertyAccess
method 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 itscheckPropertyAccess
method 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 itscheckPropertyAccess
method doesn't allow access to the specified system property.- Since:
- 3.10
- See Also:
-
isJavaAwtHeadless
Returns whether theJAVA_AWT_HEADLESS
value istrue
.- Returns:
true
ifJAVA_AWT_HEADLESS
is"true"
,false
otherwise.- 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:
true
if 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:
true
if 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.