public class SystemUtils extends Object
Helpers for 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#
Modifier and Type | Field and Description |
---|---|
static String |
AWT_TOOLKIT
The
awt.toolkit System Property. |
static String |
FILE_ENCODING
The
file.encoding System Property. |
static String |
FILE_SEPARATOR
Deprecated.
Use
File.separator , since it is guaranteed to be a
string containing a single character and it does not require a privilege check. |
static boolean |
IS_JAVA_1_1
Is
true if this is Java version 1.1 (also 1.1.x versions). |
static boolean |
IS_JAVA_1_2
Is
true if this is Java version 1.2 (also 1.2.x versions). |
static boolean |
IS_JAVA_1_3
Is
true if this is Java version 1.3 (also 1.3.x versions). |
static boolean |
IS_JAVA_1_4
Is
true if this is Java version 1.4 (also 1.4.x versions). |
static boolean |
IS_JAVA_1_5
Is
true if this is Java version 1.5 (also 1.5.x versions). |
static boolean |
IS_JAVA_1_6
Is
true if this is Java version 1.6 (also 1.6.x versions). |
static boolean |
IS_JAVA_1_7
Is
true if this is Java version 1.7 (also 1.7.x versions). |
static boolean |
IS_JAVA_1_8
Is
true if this is Java version 1.8 (also 1.8.x versions). |
static boolean |
IS_JAVA_1_9
Deprecated.
As of release 3.5, replaced by
IS_JAVA_9 |
static boolean |
IS_JAVA_10
Is
true if this is Java version 10 (also 10.x versions). |
static boolean |
IS_JAVA_11
Is
true if this is Java version 11 (also 11.x versions). |
static boolean |
IS_JAVA_12
Is
true if this is Java version 12 (also 12.x versions). |
static boolean |
IS_JAVA_13
Is
true if this is Java version 13 (also 13.x versions). |
static boolean |
IS_JAVA_14
Is
true if this is Java version 14 (also 14.x versions). |
static boolean |
IS_JAVA_15
Is
true if this is Java version 15 (also 15.x versions). |
static boolean |
IS_JAVA_9
Is
true if this is Java version 9 (also 9.x versions). |
static boolean |
IS_OS_400
Is
true if this is IBM OS/400. |
static boolean |
IS_OS_AIX
Is
true if this is AIX. |
static boolean |
IS_OS_FREE_BSD
Is
true if this is FreeBSD. |
static boolean |
IS_OS_HP_UX
Is
true if this is HP-UX. |
static boolean |
IS_OS_IRIX
Is
true if this is Irix. |
static boolean |
IS_OS_LINUX
Is
true if this is Linux. |
static boolean |
IS_OS_MAC
Is
true if this is Mac. |
static boolean |
IS_OS_MAC_OSX
Is
true if this is Mac. |
static boolean |
IS_OS_MAC_OSX_CHEETAH
Is
true if this is Mac OS X Cheetah. |
static boolean |
IS_OS_MAC_OSX_EL_CAPITAN
Is
true if this is Mac OS X El Capitan. |
static boolean |
IS_OS_MAC_OSX_JAGUAR
Is
true if this is Mac OS X Jaguar. |
static boolean |
IS_OS_MAC_OSX_LEOPARD
Is
true if this is Mac OS X Leopard. |
static boolean |
IS_OS_MAC_OSX_LION
Is
true if this is Mac OS X Lion. |
static boolean |
IS_OS_MAC_OSX_MAVERICKS
Is
true if this is Mac OS X Mavericks. |
static boolean |
IS_OS_MAC_OSX_MOUNTAIN_LION
Is
true if this is Mac OS X Mountain Lion. |
static boolean |
IS_OS_MAC_OSX_PANTHER
Is
true if this is Mac OS X Panther. |
static boolean |
IS_OS_MAC_OSX_PUMA
Is
true if this is Mac OS X Puma. |
static boolean |
IS_OS_MAC_OSX_SNOW_LEOPARD
Is
true if this is Mac OS X Snow Leopard. |
static boolean |
IS_OS_MAC_OSX_TIGER
Is
true if this is Mac OS X Tiger. |
static boolean |
IS_OS_MAC_OSX_YOSEMITE
Is
true if this is Mac OS X Yosemite. |
static boolean |
IS_OS_NET_BSD
Is
true if this is NetBSD. |
static boolean |
IS_OS_OPEN_BSD
Is
true if this is OpenBSD. |
static boolean |
IS_OS_OS2
Is
true if this is OS/2. |
static boolean |
IS_OS_SOLARIS
Is
true if this is Solaris. |
static boolean |
IS_OS_SUN_OS
Is
true if this is SunOS. |
static boolean |
IS_OS_UNIX
Is
true if this is a UNIX like system, as in any of AIX, HP-UX, Irix, Linux, MacOSX, Solaris or SUN OS. |
static boolean |
IS_OS_WINDOWS
Is
true if this is Windows. |
static boolean |
IS_OS_WINDOWS_10
Is
true if this is Windows 10. |
static boolean |
IS_OS_WINDOWS_2000
Is
true if this is Windows 2000. |
static boolean |
IS_OS_WINDOWS_2003
Is
true if this is Windows 2003. |
static boolean |
IS_OS_WINDOWS_2008
Is
true if this is Windows Server 2008. |
static boolean |
IS_OS_WINDOWS_2012
Is
true if this is Windows Server 2012. |
static boolean |
IS_OS_WINDOWS_7
Is
true if this is Windows 7. |
static boolean |
IS_OS_WINDOWS_8
Is
true if this is Windows 8. |
static boolean |
IS_OS_WINDOWS_95
Is
true if this is Windows 95. |
static boolean |
IS_OS_WINDOWS_98
Is
true if this is Windows 98. |
static boolean |
IS_OS_WINDOWS_ME
Is
true if this is Windows ME. |
static boolean |
IS_OS_WINDOWS_NT
Is
true if this is Windows NT. |
static boolean |
IS_OS_WINDOWS_VISTA
Is
true if this is Windows Vista. |
static boolean |
IS_OS_WINDOWS_XP
Is
true if this is Windows XP. |
static boolean |
IS_OS_ZOS
Is
true if this is z/OS. |
static String |
JAVA_AWT_FONTS
The
java.awt.fonts System Property. |
static String |
JAVA_AWT_GRAPHICSENV
The
java.awt.graphicsenv System Property. |
static String |
JAVA_AWT_HEADLESS
The
java.awt.headless System Property. |
static String |
JAVA_AWT_PRINTERJOB
The
java.awt.printerjob System Property. |
static String |
JAVA_CLASS_PATH
The
java.class.path System Property. |
static String |
JAVA_CLASS_VERSION
The
java.class.version System Property. |
static String |
JAVA_COMPILER
The
java.compiler System Property. |
static String |
JAVA_ENDORSED_DIRS
The
java.endorsed.dirs System Property. |
static String |
JAVA_EXT_DIRS
The
java.ext.dirs System Property. |
static String |
JAVA_HOME
The
java.home System Property. |
static String |
JAVA_IO_TMPDIR
The
java.io.tmpdir System Property. |
static String |
JAVA_LIBRARY_PATH
The
java.library.path System Property. |
static String |
JAVA_RUNTIME_NAME
The
java.runtime.name System Property. |
static String |
JAVA_RUNTIME_VERSION
The
java.runtime.version System Property. |
static String |
JAVA_SPECIFICATION_NAME
The
java.specification.name System Property. |
static String |
JAVA_SPECIFICATION_VENDOR
The
java.specification.vendor System Property. |
static String |
JAVA_SPECIFICATION_VERSION
The
java.specification.version System Property. |
static String |
JAVA_UTIL_PREFS_PREFERENCES_FACTORY
The
java.util.prefs.PreferencesFactory System Property. |
static String |
JAVA_VENDOR
The
java.vendor System Property. |
static String |
JAVA_VENDOR_URL
The
java.vendor.url System Property. |
static String |
JAVA_VERSION
The
java.version System Property. |
static String |
JAVA_VM_INFO
The
java.vm.info System Property. |
static String |
JAVA_VM_NAME
The
java.vm.name System Property. |
static String |
JAVA_VM_SPECIFICATION_NAME
The
java.vm.specification.name System Property. |
static String |
JAVA_VM_SPECIFICATION_VENDOR
The
java.vm.specification.vendor System Property. |
static String |
JAVA_VM_SPECIFICATION_VERSION
The
java.vm.specification.version System Property. |
static String |
JAVA_VM_VENDOR
The
java.vm.vendor System Property. |
static String |
JAVA_VM_VERSION
The
java.vm.version System Property. |
static String |
LINE_SEPARATOR
Deprecated.
Use
System.lineSeparator instead, since it does not require a privilege check. |
static String |
OS_ARCH
The
os.arch System Property. |
static String |
OS_NAME
The
os.name System Property. |
static String |
OS_VERSION
The
os.version System Property. |
static String |
PATH_SEPARATOR
Deprecated.
Use
File.pathSeparator , since it is guaranteed to be a
string containing a single character and it does not require a privilege check. |
static String |
USER_COUNTRY
The
user.country or user.region System Property. |
static String |
USER_DIR
The
user.dir System Property. |
static String |
USER_HOME
The
user.home System Property. |
static String |
USER_LANGUAGE
The
user.language System Property. |
static String |
USER_NAME
The
user.name System Property. |
static String |
USER_TIMEZONE
The
user.timezone System Property. |
Constructor and Description |
---|
SystemUtils()
SystemUtils instances should NOT be constructed in standard programming.
|
Modifier and Type | Method and Description |
---|---|
static String |
getEnvironmentVariable(String name,
String defaultValue)
Gets an environment variable, defaulting to
defaultValue if the variable cannot be read. |
static String |
getHostName()
Gets the host name from an environment variable
(COMPUTERNAME on Windows, HOSTNAME elsewhere).
|
static File |
getJavaHome()
Gets the Java home directory as a
File . |
static File |
getJavaIoTmpDir()
Gets the Java IO temporary directory as a
File . |
static File |
getUserDir()
Gets the user directory as a
File . |
static File |
getUserHome()
Gets the user home directory as a
File . |
static String |
getUserName()
Gets the user name.
|
static String |
getUserName(String defaultValue)
Gets the user name.
|
static boolean |
isJavaAwtHeadless()
Returns whether the
JAVA_AWT_HEADLESS value is true . |
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.
|
public static final String AWT_TOOLKIT
The awt.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String FILE_ENCODING
The file.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
@Deprecated public static final String FILE_SEPARATOR
File.separator
, since it is guaranteed to be a
string containing a single character and it does not require a privilege check.
The file.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String JAVA_AWT_FONTS
The java.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String JAVA_AWT_GRAPHICSENV
The java.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String JAVA_AWT_HEADLESS
The java.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
isJavaAwtHeadless()
public static final String JAVA_AWT_PRINTERJOB
The java.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String JAVA_CLASS_PATH
The java.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String JAVA_CLASS_VERSION
The java.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String JAVA_COMPILER
The java.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String JAVA_ENDORSED_DIRS
The java.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String JAVA_EXT_DIRS
The java.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String JAVA_HOME
The java.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String JAVA_IO_TMPDIR
The java.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String JAVA_LIBRARY_PATH
The java.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String JAVA_RUNTIME_NAME
The java.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String JAVA_RUNTIME_VERSION
The java.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String JAVA_SPECIFICATION_NAME
The java.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String JAVA_SPECIFICATION_VENDOR
The java.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String JAVA_SPECIFICATION_VERSION
The java.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String JAVA_UTIL_PREFS_PREFERENCES_FACTORY
The java.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String JAVA_VENDOR
The java.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String JAVA_VENDOR_URL
The java.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String JAVA_VERSION
The java.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String JAVA_VM_INFO
The java.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String JAVA_VM_NAME
The java.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String JAVA_VM_SPECIFICATION_NAME
The java.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String JAVA_VM_SPECIFICATION_VENDOR
The java.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String JAVA_VM_SPECIFICATION_VERSION
The java.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String JAVA_VM_VENDOR
The java.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String JAVA_VM_VERSION
The java.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
@Deprecated public static final String LINE_SEPARATOR
System.lineSeparator
instead, since it does not require a privilege check.
The line.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String OS_ARCH
The os.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String OS_NAME
The os.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String OS_VERSION
The os.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
@Deprecated public static final String PATH_SEPARATOR
File.pathSeparator
, since it is guaranteed to be a
string containing a single character and it does not require a privilege check.
The path.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String USER_COUNTRY
The user.country
or user.region
System Property. User's country code, such as GB
. First
in Java version 1.2 as user.region
. Renamed to user.country
in 1.4
Defaults to null
if the runtime does not have security access to read this property or the property does
not exist.
This value is initialized when the class is loaded. If System.setProperty(String,String)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String USER_DIR
The user.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String USER_HOME
The user.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String USER_LANGUAGE
The user.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String USER_NAME
The user.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final String USER_TIMEZONE
The user.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)
or
System.setProperties(java.util.Properties)
is called after this class is loaded, the value will be out of
sync with that System property.
public static final boolean IS_JAVA_1_1
Is true
if this is Java version 1.1 (also 1.1.x versions).
The field will return false
if JAVA_VERSION
is null
.
public static final boolean IS_JAVA_1_2
Is true
if this is Java version 1.2 (also 1.2.x versions).
The field will return false
if JAVA_VERSION
is null
.
public static final boolean IS_JAVA_1_3
Is true
if this is Java version 1.3 (also 1.3.x versions).
The field will return false
if JAVA_VERSION
is null
.
public static final boolean IS_JAVA_1_4
Is true
if this is Java version 1.4 (also 1.4.x versions).
The field will return false
if JAVA_VERSION
is null
.
public static final boolean IS_JAVA_1_5
Is true
if this is Java version 1.5 (also 1.5.x versions).
The field will return false
if JAVA_VERSION
is null
.
public static final boolean IS_JAVA_1_6
Is true
if this is Java version 1.6 (also 1.6.x versions).
The field will return false
if JAVA_VERSION
is null
.
public static final boolean IS_JAVA_1_7
Is true
if this is Java version 1.7 (also 1.7.x versions).
The field will return false
if JAVA_VERSION
is null
.
public static final boolean IS_JAVA_1_8
Is true
if this is Java version 1.8 (also 1.8.x versions).
The field will return false
if JAVA_VERSION
is null
.
@Deprecated public static final boolean IS_JAVA_1_9
IS_JAVA_9
Is true
if this is Java version 1.9 (also 1.9.x versions).
The field will return false
if JAVA_VERSION
is null
.
public static final boolean IS_JAVA_9
Is true
if this is Java version 9 (also 9.x versions).
The field will return false
if JAVA_VERSION
is null
.
public static final boolean IS_JAVA_10
Is true
if this is Java version 10 (also 10.x versions).
The field will return false
if JAVA_VERSION
is null
.
public static final boolean IS_JAVA_11
Is true
if this is Java version 11 (also 11.x versions).
The field will return false
if JAVA_VERSION
is null
.
public static final boolean IS_JAVA_12
Is true
if this is Java version 12 (also 12.x versions).
The field will return false
if JAVA_VERSION
is null
.
public static final boolean IS_JAVA_13
Is true
if this is Java version 13 (also 13.x versions).
The field will return false
if JAVA_VERSION
is null
.
public static final boolean IS_JAVA_14
Is true
if this is Java version 14 (also 14.x versions).
The field will return false
if JAVA_VERSION
is null
.
public static final boolean IS_JAVA_15
Is true
if this is Java version 15 (also 15.x versions).
The field will return false
if JAVA_VERSION
is null
.
public static final boolean IS_OS_AIX
Is true
if this is AIX.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_HP_UX
Is true
if this is HP-UX.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_400
Is true
if this is IBM OS/400.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_IRIX
Is true
if this is Irix.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_LINUX
Is true
if this is Linux.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_MAC
Is true
if this is Mac.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_MAC_OSX
Is true
if this is Mac.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_MAC_OSX_CHEETAH
Is true
if this is Mac OS X Cheetah.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_MAC_OSX_PUMA
Is true
if this is Mac OS X Puma.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_MAC_OSX_JAGUAR
Is true
if this is Mac OS X Jaguar.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_MAC_OSX_PANTHER
Is true
if this is Mac OS X Panther.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_MAC_OSX_TIGER
Is true
if this is Mac OS X Tiger.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_MAC_OSX_LEOPARD
Is true
if this is Mac OS X Leopard.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_MAC_OSX_SNOW_LEOPARD
Is true
if this is Mac OS X Snow Leopard.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_MAC_OSX_LION
Is true
if this is Mac OS X Lion.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_MAC_OSX_MOUNTAIN_LION
Is true
if this is Mac OS X Mountain Lion.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_MAC_OSX_MAVERICKS
Is true
if this is Mac OS X Mavericks.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_MAC_OSX_YOSEMITE
Is true
if this is Mac OS X Yosemite.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_MAC_OSX_EL_CAPITAN
Is true
if this is Mac OS X El Capitan.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_FREE_BSD
Is true
if this is FreeBSD.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_OPEN_BSD
Is true
if this is OpenBSD.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_NET_BSD
Is true
if this is NetBSD.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_OS2
Is true
if this is OS/2.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_SOLARIS
Is true
if this is Solaris.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_SUN_OS
Is true
if this is SunOS.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_UNIX
Is true
if this is a UNIX like system, as in any of AIX, HP-UX, Irix, Linux, MacOSX, Solaris or SUN OS.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_WINDOWS
Is true
if this is Windows.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_WINDOWS_2000
Is true
if this is Windows 2000.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_WINDOWS_2003
Is true
if this is Windows 2003.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_WINDOWS_2008
Is true
if this is Windows Server 2008.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_WINDOWS_2012
Is true
if this is Windows Server 2012.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_WINDOWS_95
Is true
if this is Windows 95.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_WINDOWS_98
Is true
if this is Windows 98.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_WINDOWS_ME
Is true
if this is Windows ME.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_WINDOWS_NT
Is true
if this is Windows NT.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_WINDOWS_XP
Is true
if this is Windows XP.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_WINDOWS_VISTA
Is true
if this is Windows Vista.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_WINDOWS_7
Is true
if this is Windows 7.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_WINDOWS_8
Is true
if this is Windows 8.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_WINDOWS_10
Is true
if this is Windows 10.
The field will return false
if OS_NAME
is null
.
public static final boolean IS_OS_ZOS
Is true
if this is z/OS.
The field will return false
if OS_NAME
is null
.
public SystemUtils()
SystemUtils instances should NOT be constructed in standard programming. Instead, the class should be used as
SystemUtils.FILE_SEPARATOR
.
This constructor is public to permit tools that require a JavaBean instance to operate.
public static File getJavaHome()
Gets the Java home directory as a File
.
SecurityException
- if a security manager exists and its checkPropertyAccess
method doesn't allow
access to the specified system property.System.getProperty(String)
public static String getHostName()
If you want to know what the network stack says is the host name, you should use InetAddress.getLocalHost().getHostName()
.
null
if the environment variable is not defined.public static File getJavaIoTmpDir()
Gets the Java IO temporary directory as a File
.
SecurityException
- if a security manager exists and its checkPropertyAccess
method doesn't allow
access to the specified system property.System.getProperty(String)
public static String getEnvironmentVariable(String name, String defaultValue)
Gets an environment variable, defaulting to defaultValue
if the variable cannot be read.
If a SecurityException
is caught, the return value is defaultValue
and a message is written to
System.err
.
name
- the environment variable namedefaultValue
- the default valuedefaultValue
if a security problem occurspublic static File getUserDir()
Gets the user directory as a File
.
SecurityException
- if a security manager exists and its checkPropertyAccess
method doesn't allow
access to the specified system property.System.getProperty(String)
public static File getUserHome()
Gets the user home directory as a File
.
SecurityException
- if a security manager exists and its checkPropertyAccess
method doesn't allow
access to the specified system property.System.getProperty(String)
public static String getUserName()
Gets the user name.
SecurityException
- if a security manager exists and its checkPropertyAccess
method doesn't allow
access to the specified system property.System.getProperty(String)
public static String getUserName(String defaultValue)
Gets the user name.
defaultValue
- A default value.SecurityException
- if a security manager exists and its checkPropertyAccess
method doesn't allow
access to the specified system property.System.getProperty(String)
public static boolean isJavaAwtHeadless()
JAVA_AWT_HEADLESS
value is true
.true
if JAVA_AWT_HEADLESS
is "true"
, false
otherwise.JAVA_AWT_HEADLESS
public static boolean isJavaVersionAtLeast(JavaVersion requiredVersion)
Is the Java version at least the requested version.
requiredVersion
- the required version, for example 1.31ftrue
if the actual version is equal or greater than the required versionpublic static boolean isJavaVersionAtMost(JavaVersion requiredVersion)
Is the Java version at most the requested version.
Example input:
requiredVersion
- the required version, for example 1.31ftrue
if the actual version is equal or greater than the required versionCopyright © 2001–2020 The Apache Software Foundation. All rights reserved.