Class SystemUtils
- java.lang.Object
-
- org.apache.commons.lang.SystemUtils
-
public class SystemUtils extends java.lang.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 toSystem.err
.#ThreadSafe#
- Since:
- 1.0
- Version:
- $Id: SystemUtils.java 1056988 2011-01-09 17:58:53Z niallp $
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
AWT_TOOLKIT
Theawt.toolkit
System Property.static java.lang.String
FILE_ENCODING
Thefile.encoding
System Property.static java.lang.String
FILE_SEPARATOR
Thefile.separator
System Property.static boolean
IS_JAVA_1_1
Istrue
if this is Java version 1.1 (also 1.1.x versions).static boolean
IS_JAVA_1_2
Istrue
if this is Java version 1.2 (also 1.2.x versions).static boolean
IS_JAVA_1_3
Istrue
if this is Java version 1.3 (also 1.3.x versions).static boolean
IS_JAVA_1_4
Istrue
if this is Java version 1.4 (also 1.4.x versions).static boolean
IS_JAVA_1_5
Istrue
if this is Java version 1.5 (also 1.5.x versions).static boolean
IS_JAVA_1_6
Istrue
if this is Java version 1.6 (also 1.6.x versions).static boolean
IS_JAVA_1_7
Istrue
if this is Java version 1.7 (also 1.7.x versions).static boolean
IS_OS_AIX
Istrue
if this is AIX.static boolean
IS_OS_HP_UX
Istrue
if this is HP-UX.static boolean
IS_OS_IRIX
Istrue
if this is Irix.static boolean
IS_OS_LINUX
Istrue
if this is Linux.static boolean
IS_OS_MAC
Istrue
if this is Mac.static boolean
IS_OS_MAC_OSX
Istrue
if this is Mac.static boolean
IS_OS_OS2
Istrue
if this is OS/2.static boolean
IS_OS_SOLARIS
Istrue
if this is Solaris.static boolean
IS_OS_SUN_OS
Istrue
if this is SunOS.static boolean
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.static boolean
IS_OS_WINDOWS
Istrue
if this is Windows.static boolean
IS_OS_WINDOWS_2000
Istrue
if this is Windows 2000.static boolean
IS_OS_WINDOWS_7
Istrue
if this is Windows 7.static boolean
IS_OS_WINDOWS_95
Istrue
if this is Windows 95.static boolean
IS_OS_WINDOWS_98
Istrue
if this is Windows 98.static boolean
IS_OS_WINDOWS_ME
Istrue
if this is Windows ME.static boolean
IS_OS_WINDOWS_NT
Istrue
if this is Windows NT.static boolean
IS_OS_WINDOWS_VISTA
Istrue
if this is Windows Vista.static boolean
IS_OS_WINDOWS_XP
Istrue
if this is Windows XP.static java.lang.String
JAVA_AWT_FONTS
Thejava.awt.fonts
System Property.static java.lang.String
JAVA_AWT_GRAPHICSENV
Thejava.awt.graphicsenv
System Property.static java.lang.String
JAVA_AWT_HEADLESS
Thejava.awt.headless
System Property.static java.lang.String
JAVA_AWT_PRINTERJOB
Thejava.awt.printerjob
System Property.static java.lang.String
JAVA_CLASS_PATH
Thejava.class.path
System Property.static java.lang.String
JAVA_CLASS_VERSION
Thejava.class.version
System Property.static java.lang.String
JAVA_COMPILER
Thejava.compiler
System Property.static java.lang.String
JAVA_ENDORSED_DIRS
Thejava.endorsed.dirs
System Property.static java.lang.String
JAVA_EXT_DIRS
Thejava.ext.dirs
System Property.static java.lang.String
JAVA_HOME
Thejava.home
System Property.private static java.lang.String
JAVA_HOME_KEY
The System property key for the Java home directory.static java.lang.String
JAVA_IO_TMPDIR
Thejava.io.tmpdir
System Property.private static java.lang.String
JAVA_IO_TMPDIR_KEY
The System property key for the Java IO temporary directory.static java.lang.String
JAVA_LIBRARY_PATH
Thejava.library.path
System Property.static java.lang.String
JAVA_RUNTIME_NAME
Thejava.runtime.name
System Property.static java.lang.String
JAVA_RUNTIME_VERSION
Thejava.runtime.version
System Property.static java.lang.String
JAVA_SPECIFICATION_NAME
Thejava.specification.name
System Property.static java.lang.String
JAVA_SPECIFICATION_VENDOR
Thejava.specification.vendor
System Property.static java.lang.String
JAVA_SPECIFICATION_VERSION
Thejava.specification.version
System Property.static java.lang.String
JAVA_UTIL_PREFS_PREFERENCES_FACTORY
Thejava.util.prefs.PreferencesFactory
System Property.static java.lang.String
JAVA_VENDOR
Thejava.vendor
System Property.static java.lang.String
JAVA_VENDOR_URL
Thejava.vendor.url
System Property.static java.lang.String
JAVA_VERSION
Thejava.version
System Property.static float
JAVA_VERSION_FLOAT
Gets the Java version as afloat
.static int
JAVA_VERSION_INT
Gets the Java version as anint
.private static int
JAVA_VERSION_TRIM_SIZE
static java.lang.String
JAVA_VERSION_TRIMMED
Gets the Java version as aString
trimming leading letters.static java.lang.String
JAVA_VM_INFO
Thejava.vm.info
System Property.static java.lang.String
JAVA_VM_NAME
Thejava.vm.name
System Property.static java.lang.String
JAVA_VM_SPECIFICATION_NAME
Thejava.vm.specification.name
System Property.static java.lang.String
JAVA_VM_SPECIFICATION_VENDOR
Thejava.vm.specification.vendor
System Property.static java.lang.String
JAVA_VM_SPECIFICATION_VERSION
Thejava.vm.specification.version
System Property.static java.lang.String
JAVA_VM_VENDOR
Thejava.vm.vendor
System Property.static java.lang.String
JAVA_VM_VERSION
Thejava.vm.version
System Property.static java.lang.String
LINE_SEPARATOR
Theline.separator
System Property.static java.lang.String
OS_ARCH
Theos.arch
System Property.static java.lang.String
OS_NAME
Theos.name
System Property.private static java.lang.String
OS_NAME_WINDOWS_PREFIX
The prefix String for all Windows OS.static java.lang.String
OS_VERSION
Theos.version
System Property.static java.lang.String
PATH_SEPARATOR
Thepath.separator
System Property.static java.lang.String
USER_COUNTRY
Theuser.country
oruser.region
System Property.static java.lang.String
USER_DIR
Theuser.dir
System Property.private static java.lang.String
USER_DIR_KEY
The System property key for the user directory.static java.lang.String
USER_HOME
Theuser.home
System Property.private static java.lang.String
USER_HOME_KEY
The System property key for the user home directory.static java.lang.String
USER_LANGUAGE
Theuser.language
System Property.static java.lang.String
USER_NAME
Theuser.name
System Property.static java.lang.String
USER_TIMEZONE
Theuser.timezone
System Property.
-
Constructor Summary
Constructors Constructor Description SystemUtils()
SystemUtils instances should NOT be constructed in standard programming.
-
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static java.io.File
getJavaHome()
Gets the Java home directory as aFile
.static java.io.File
getJavaIoTmpDir()
Gets the Java IO temporary directory as aFile
.static float
getJavaVersion()
Deprecated.UseJAVA_VERSION_FLOAT
instead.private static float
getJavaVersionAsFloat()
Gets the Java version number as afloat
.private static int
getJavaVersionAsInt()
Gets the Java version number as anint
.private static boolean
getJavaVersionMatches(java.lang.String versionPrefix)
Decides if the Java version matches.private static java.lang.String
getJavaVersionTrimmed()
Trims the text of the java version to start with numbers.private static boolean
getOSMatches(java.lang.String osNamePrefix, java.lang.String osVersionPrefix)
Decides if the operating system matches.private static boolean
getOSMatchesName(java.lang.String osNamePrefix)
Decides if the operating system matches.private static java.lang.String
getSystemProperty(java.lang.String property)
Gets a System property, defaulting tonull
if the property cannot be read.static java.io.File
getUserDir()
Gets the user directory as aFile
.static java.io.File
getUserHome()
Gets the user home directory as aFile
.static boolean
isJavaAwtHeadless()
Returns whether theJAVA_AWT_HEADLESS
value istrue
.static boolean
isJavaVersionAtLeast(float requiredVersion)
Is the Java version at least the requested version.static boolean
isJavaVersionAtLeast(int requiredVersion)
Is the Java version at least the requested version.(package private) static boolean
isJavaVersionMatch(java.lang.String version, java.lang.String versionPrefix)
Decides if the Java version matches.(package private) static boolean
isOSMatch(java.lang.String osName, java.lang.String osVersion, java.lang.String osNamePrefix, java.lang.String osVersionPrefix)
Decides if the operating system matches.(package private) static boolean
isOSNameMatch(java.lang.String osName, java.lang.String osNamePrefix)
Decides if the operating system matches.(package private) static float
toJavaVersionFloat(java.lang.String version)
Converts the given Java version string to afloat
.(package private) static int
toJavaVersionInt(java.lang.String version)
Converts the given Java version string to anint
.(package private) static int[]
toJavaVersionIntArray(java.lang.String version)
Converts the given Java version string to anint[]
of maximum size3
.private static int[]
toJavaVersionIntArray(java.lang.String version, int limit)
Converts the given Java version string to anint[]
of maximum sizelimit
.private static float
toVersionFloat(int[] javaVersions)
Converts given the Java version array to afloat
.private static int
toVersionInt(int[] javaVersions)
Converts given the Java version array to anint
.
-
-
-
Field Detail
-
JAVA_VERSION_TRIM_SIZE
private static final int JAVA_VERSION_TRIM_SIZE
- See Also:
- Constant Field Values
-
OS_NAME_WINDOWS_PREFIX
private static final java.lang.String OS_NAME_WINDOWS_PREFIX
The prefix String for all Windows OS.- See Also:
- Constant Field Values
-
USER_HOME_KEY
private static final java.lang.String USER_HOME_KEY
The System property key for the user home directory.- See Also:
- Constant Field Values
-
USER_DIR_KEY
private static final java.lang.String USER_DIR_KEY
The System property key for the user directory.- See Also:
- Constant Field Values
-
JAVA_IO_TMPDIR_KEY
private static final java.lang.String JAVA_IO_TMPDIR_KEY
The System property key for the Java IO temporary directory.- See Also:
- Constant Field Values
-
JAVA_HOME_KEY
private static final java.lang.String JAVA_HOME_KEY
The System property key for the Java home directory.- See Also:
- Constant Field Values
-
AWT_TOOLKIT
public static final java.lang.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)
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
-
FILE_ENCODING
public static final java.lang.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)
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
-
FILE_SEPARATOR
public static final java.lang.String FILE_SEPARATOR
The
file.separator
System Property. File 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
-
JAVA_AWT_FONTS
public static final java.lang.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)
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_AWT_GRAPHICSENV
public static final java.lang.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)
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_AWT_HEADLESS
public static final java.lang.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)
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:
isJavaAwtHeadless()
-
JAVA_AWT_PRINTERJOB
public static final java.lang.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)
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_CLASS_PATH
public static final java.lang.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)
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
-
JAVA_CLASS_VERSION
public static final java.lang.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)
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
-
JAVA_COMPILER
public static final java.lang.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)
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.
-
JAVA_ENDORSED_DIRS
public static final java.lang.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)
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
-
JAVA_EXT_DIRS
public static final java.lang.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)
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
-
JAVA_HOME
public static final java.lang.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)
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
-
JAVA_IO_TMPDIR
public static final java.lang.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)
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
-
JAVA_LIBRARY_PATH
public static final java.lang.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)
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
-
JAVA_RUNTIME_NAME
public static final java.lang.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)
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
-
JAVA_RUNTIME_VERSION
public static final java.lang.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)
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
-
JAVA_SPECIFICATION_NAME
public static final java.lang.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)
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
-
JAVA_SPECIFICATION_VENDOR
public static final java.lang.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)
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
-
JAVA_SPECIFICATION_VERSION
public static final java.lang.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)
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
-
JAVA_UTIL_PREFS_PREFERENCES_FACTORY
public static final java.lang.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)
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
-
JAVA_VENDOR
public static final java.lang.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)
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
-
JAVA_VENDOR_URL
public static final java.lang.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)
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
-
JAVA_VERSION
public static final java.lang.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)
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
-
JAVA_VM_INFO
public static final java.lang.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)
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
-
JAVA_VM_NAME
public static final java.lang.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)
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
-
JAVA_VM_SPECIFICATION_NAME
public static final java.lang.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)
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
-
JAVA_VM_SPECIFICATION_VENDOR
public static final java.lang.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)
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
-
JAVA_VM_SPECIFICATION_VERSION
public static final java.lang.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)
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
-
JAVA_VM_VENDOR
public static final java.lang.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)
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
-
JAVA_VM_VERSION
public static final java.lang.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)
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
-
LINE_SEPARATOR
public static final java.lang.String LINE_SEPARATOR
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)
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
-
OS_ARCH
public static final java.lang.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)
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
-
OS_NAME
public static final java.lang.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)
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
-
OS_VERSION
public static final java.lang.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)
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
-
PATH_SEPARATOR
public static final java.lang.String PATH_SEPARATOR
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)
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
-
USER_COUNTRY
public static final java.lang.String USER_COUNTRY
The
user.country
oruser.region
System Property. User's country code, such asGB
. 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
public static final java.lang.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)
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
-
USER_HOME
public static final java.lang.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)
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
-
USER_LANGUAGE
public static final java.lang.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)
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_NAME
public static final java.lang.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)
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
-
USER_TIMEZONE
public static final java.lang.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)
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_VERSION_TRIMMED
public static final java.lang.String JAVA_VERSION_TRIMMED
Gets the Java version as a
String
trimming leading letters.The field will return
null
ifJAVA_VERSION
isnull
.- Since:
- 2.1
-
JAVA_VERSION_FLOAT
public static final float JAVA_VERSION_FLOAT
Gets the Java version as a
float
.Example return values:
1.2f
for Java 1.21.31f
for Java 1.3.1
The field will return zero if
JAVA_VERSION
isnull
.- Since:
- 2.0
-
JAVA_VERSION_INT
public static final int JAVA_VERSION_INT
Gets the Java version as an
int
.Example return values:
120
for Java 1.2131
for Java 1.3.1
The field will return zero if
JAVA_VERSION
isnull
.- Since:
- 2.0
-
IS_JAVA_1_1
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
ifJAVA_VERSION
isnull
.
-
IS_JAVA_1_2
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
ifJAVA_VERSION
isnull
.
-
IS_JAVA_1_3
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
ifJAVA_VERSION
isnull
.
-
IS_JAVA_1_4
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
ifJAVA_VERSION
isnull
.
-
IS_JAVA_1_5
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
ifJAVA_VERSION
isnull
.
-
IS_JAVA_1_6
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
ifJAVA_VERSION
isnull
.
-
IS_JAVA_1_7
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
ifJAVA_VERSION
isnull
.- Since:
- 2.5
-
IS_OS_AIX
public static final boolean IS_OS_AIX
Is
true
if this is AIX.The field will return
false
ifOS_NAME
isnull
.- Since:
- 2.0
-
IS_OS_HP_UX
public static final boolean IS_OS_HP_UX
Is
true
if this is HP-UX.The field will return
false
ifOS_NAME
isnull
.- Since:
- 2.0
-
IS_OS_IRIX
public static final boolean IS_OS_IRIX
Is
true
if this is Irix.The field will return
false
ifOS_NAME
isnull
.- Since:
- 2.0
-
IS_OS_LINUX
public static final boolean IS_OS_LINUX
Is
true
if this is Linux.The field will return
false
ifOS_NAME
isnull
.- Since:
- 2.0
-
IS_OS_MAC
public static final boolean IS_OS_MAC
Is
true
if this is Mac.The field will return
false
ifOS_NAME
isnull
.- Since:
- 2.0
-
IS_OS_MAC_OSX
public static final boolean IS_OS_MAC_OSX
Is
true
if this is Mac.The field will return
false
ifOS_NAME
isnull
.- Since:
- 2.0
-
IS_OS_OS2
public static final boolean IS_OS_OS2
Is
true
if this is OS/2.The field will return
false
ifOS_NAME
isnull
.- Since:
- 2.0
-
IS_OS_SOLARIS
public static final boolean IS_OS_SOLARIS
Is
true
if this is Solaris.The field will return
false
ifOS_NAME
isnull
.- Since:
- 2.0
-
IS_OS_SUN_OS
public static final boolean IS_OS_SUN_OS
Is
true
if this is SunOS.The field will return
false
ifOS_NAME
isnull
.- Since:
- 2.0
-
IS_OS_UNIX
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
ifOS_NAME
isnull
.- Since:
- 2.1
-
IS_OS_WINDOWS
public static final boolean IS_OS_WINDOWS
Is
true
if this is Windows.The field will return
false
ifOS_NAME
isnull
.- Since:
- 2.0
-
IS_OS_WINDOWS_2000
public static final boolean IS_OS_WINDOWS_2000
Is
true
if this is Windows 2000.The field will return
false
ifOS_NAME
isnull
.- Since:
- 2.0
-
IS_OS_WINDOWS_95
public static final boolean IS_OS_WINDOWS_95
Is
true
if this is Windows 95.The field will return
false
ifOS_NAME
isnull
.- Since:
- 2.0
-
IS_OS_WINDOWS_98
public static final boolean IS_OS_WINDOWS_98
Is
true
if this is Windows 98.The field will return
false
ifOS_NAME
isnull
.- Since:
- 2.0
-
IS_OS_WINDOWS_ME
public static final boolean IS_OS_WINDOWS_ME
Is
true
if this is Windows ME.The field will return
false
ifOS_NAME
isnull
.- Since:
- 2.0
-
IS_OS_WINDOWS_NT
public static final boolean IS_OS_WINDOWS_NT
Is
true
if this is Windows NT.The field will return
false
ifOS_NAME
isnull
.- Since:
- 2.0
-
IS_OS_WINDOWS_XP
public static final boolean IS_OS_WINDOWS_XP
Is
true
if this is Windows XP.The field will return
false
ifOS_NAME
isnull
.- Since:
- 2.0
-
IS_OS_WINDOWS_VISTA
public static final boolean IS_OS_WINDOWS_VISTA
Is
true
if this is Windows Vista.The field will return
false
ifOS_NAME
isnull
.- Since:
- 2.4
-
IS_OS_WINDOWS_7
public static final boolean IS_OS_WINDOWS_7
Is
true
if this is Windows 7.The field will return
false
ifOS_NAME
isnull
.- Since:
- 2.5
-
-
Method Detail
-
getJavaHome
public static java.io.File getJavaHome()
Gets the Java home directory as a
File
.- Returns:
- a directory
- Throws:
java.lang.SecurityException
- if a security manager exists and itscheckPropertyAccess
method doesn't allow access to the specified system property.- Since:
- 2.1
- See Also:
System.getProperty(String)
-
getJavaIoTmpDir
public static java.io.File getJavaIoTmpDir()
Gets the Java IO temporary directory as a
File
.- Returns:
- a directory
- Throws:
java.lang.SecurityException
- if a security manager exists and itscheckPropertyAccess
method doesn't allow access to the specified system property.- Since:
- 2.1
- See Also:
System.getProperty(String)
-
getJavaVersion
public static float getJavaVersion()
Deprecated.UseJAVA_VERSION_FLOAT
instead. Method will be removed in Commons Lang 3.0.Gets the Java version number as a
float
.Example return values:
1.2f
for JDK 1.21.31f
for JDK 1.3.1
- Returns:
- the version, for example 1.31f for JDK 1.3.1
-
getJavaVersionAsFloat
private static float getJavaVersionAsFloat()
Gets the Java version number as a
float
.Example return values:
1.2f
for Java 1.21.31f
for Java 1.3.11.6f
for Java 1.6.0_20
Patch releases are not reported.
- Returns:
- the version, for example 1.31f for Java 1.3.1
-
getJavaVersionAsInt
private static int getJavaVersionAsInt()
Gets the Java version number as an
int
.Example return values:
120
for Java 1.2131
for Java 1.3.1160
for Java 1.6.0_20
Patch releases are not reported.
- Returns:
- the version, for example 131 for Java 1.3.1
-
getJavaVersionMatches
private static boolean getJavaVersionMatches(java.lang.String versionPrefix)
Decides if the Java version matches.
- Parameters:
versionPrefix
- the prefix for the java version- Returns:
- true if matches, or false if not or can't determine
-
getJavaVersionTrimmed
private static java.lang.String getJavaVersionTrimmed()
Trims the text of the java version to start with numbers.- Returns:
- the trimmed java version
-
getOSMatches
private static boolean getOSMatches(java.lang.String osNamePrefix, java.lang.String osVersionPrefix)
Decides if the operating system matches.- Parameters:
osNamePrefix
- the prefix for the os nameosVersionPrefix
- the prefix for the version- Returns:
- true if matches, or false if not or can't determine
-
getOSMatchesName
private static boolean getOSMatchesName(java.lang.String osNamePrefix)
Decides if the operating system matches.- Parameters:
osNamePrefix
- the prefix for the os name- Returns:
- true if matches, or false if not or can't determine
-
getSystemProperty
private static java.lang.String getSystemProperty(java.lang.String property)
Gets a System property, defaulting to
null
if the property cannot be read.If a
SecurityException
is caught, the return value isnull
and a message is written toSystem.err
.- Parameters:
property
- the system property name- Returns:
- the system property value or
null
if a security problem occurs
-
getUserDir
public static java.io.File getUserDir()
Gets the user directory as a
File
.- Returns:
- a directory
- Throws:
java.lang.SecurityException
- if a security manager exists and itscheckPropertyAccess
method doesn't allow access to the specified system property.- Since:
- 2.1
- See Also:
System.getProperty(String)
-
getUserHome
public static java.io.File getUserHome()
Gets the user home directory as a
File
.- Returns:
- a directory
- Throws:
java.lang.SecurityException
- if a security manager exists and itscheckPropertyAccess
method doesn't allow access to the specified system property.- Since:
- 2.1
- See Also:
System.getProperty(String)
-
isJavaAwtHeadless
public static boolean 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:
JAVA_AWT_HEADLESS
-
isJavaVersionAtLeast
public static boolean isJavaVersionAtLeast(float requiredVersion)
Is the Java version at least the requested version.
Example input:
1.2f
to test for Java 1.21.31f
to test for Java 1.3.1
- Parameters:
requiredVersion
- the required version, for example 1.31f- Returns:
true
if the actual version is equal or greater than the required version
-
isJavaVersionAtLeast
public static boolean isJavaVersionAtLeast(int requiredVersion)
Is the Java version at least the requested version.
Example input:
120
to test for Java 1.2 or greater131
to test for Java 1.3.1 or greater
- Parameters:
requiredVersion
- the required version, for example 131- Returns:
true
if the actual version is equal or greater than the required version- Since:
- 2.0
-
isJavaVersionMatch
static boolean isJavaVersionMatch(java.lang.String version, java.lang.String versionPrefix)
Decides if the Java version matches.
This method is package private instead of private to support unit test invocation.
- Parameters:
version
- the actual Java versionversionPrefix
- the prefix for the expected Java version- Returns:
- true if matches, or false if not or can't determine
-
isOSMatch
static boolean isOSMatch(java.lang.String osName, java.lang.String osVersion, java.lang.String osNamePrefix, java.lang.String osVersionPrefix)
Decides if the operating system matches.This method is package private instead of private to support unit test invocation.
- Parameters:
osName
- the actual OS nameosVersion
- the actual OS versionosNamePrefix
- the prefix for the expected OS nameosVersionPrefix
- the prefix for the expected OS version- Returns:
- true if matches, or false if not or can't determine
-
isOSNameMatch
static boolean isOSNameMatch(java.lang.String osName, java.lang.String osNamePrefix)
Decides if the operating system matches.This method is package private instead of private to support unit test invocation.
- Parameters:
osName
- the actual OS nameosNamePrefix
- the prefix for the expected OS name- Returns:
- true if matches, or false if not or can't determine
-
toJavaVersionFloat
static float toJavaVersionFloat(java.lang.String version)
Converts the given Java version string to a
float
.Example return values:
1.2f
for Java 1.21.31f
for Java 1.3.11.6f
for Java 1.6.0_20
Patch releases are not reported.
This method is package private instead of private to support unit test invocation.
- Parameters:
version
- The string version- Returns:
- the version, for example 1.31f for Java 1.3.1
-
toJavaVersionInt
static int toJavaVersionInt(java.lang.String version)
Converts the given Java version string to an
int
.Example return values:
120
for Java 1.2131
for Java 1.3.1160
for Java 1.6.0_20
Patch releases are not reported.
This method is package private instead of private to support unit test invocation.
- Parameters:
version
- The string version- Returns:
- the version, for example 131 for Java 1.3.1
-
toJavaVersionIntArray
static int[] toJavaVersionIntArray(java.lang.String version)
Converts the given Java version string to an
int[]
of maximum size3
.Example return values:
[1, 2, 0]
for Java 1.2[1, 3, 1]
for Java 1.3.1[1, 5, 0]
for Java 1.5.0_21
This method is package private instead of private to support unit test invocation.
- Parameters:
version
- The string version- Returns:
- the version, for example [1, 5, 0] for Java 1.5.0_21
-
toJavaVersionIntArray
private static int[] toJavaVersionIntArray(java.lang.String version, int limit)
Converts the given Java version string to an
int[]
of maximum sizelimit
.Example return values:
[1, 2, 0]
for Java 1.2[1, 3, 1]
for Java 1.3.1[1, 5, 0, 21]
for Java 1.5.0_21
- Parameters:
version
- The string versionlimit
- version limit- Returns:
- the version, for example [1, 5, 0, 21] for Java 1.5.0_21
-
toVersionFloat
private static float toVersionFloat(int[] javaVersions)
Converts given the Java version array to a
float
.Example return values:
1.2f
for Java 1.21.31f
for Java 1.3.11.6f
for Java 1.6.0_20
Patch releases are not reported.
- Parameters:
javaVersions
- The version numbers- Returns:
- the version, for example 1.31f for Java 1.3.1
-
toVersionInt
private static int toVersionInt(int[] javaVersions)
Converts given the Java version array to an
int
.Example return values:
120
for Java 1.2131
for Java 1.3.1160
for Java 1.6.0_20
Patch releases are not reported.
- Parameters:
javaVersions
- The version numbers- Returns:
- the version, for example 1.31f for Java 1.3.1
-
-