Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.apache.commons.lang
Class SystemUtils

    java.lang.Object
      org.apache.commons.lang.SystemUtils

    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#

Since:
  1.0
Version:
  $Id: SystemUtils.java 1056988 2011-01-09 17:58:53Z niallp $
Author:
  Apache Software Foundation, Based on code from Avalon Excalibur, Based on code from Lucene, Steve Downey, Gary Gregory, Michael Becke, Tetsuya Kaneuchi, Rafal Krupinski, Jason Gritman

Field Summary
`static String` | `AWT_TOOLKIT` The `awt.toolkit` System Property.
`static String` | `FILE_ENCODING` The `file.encoding` System Property.
`static String` | `FILE_SEPARATOR` The `file.separator` System Property.
`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_OS_AIX` Is `true` if this is AIX.
`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_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_2000` Is `true` if this is Windows 2000.
`static boolean` | `IS_OS_WINDOWS_7` Is `true` if this is Windows 7.
`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 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 float` | `JAVA_VERSION_FLOAT` Gets the Java version as a `float`.
`static int` | `JAVA_VERSION_INT` Gets the Java version as an `int`.
`static String` | `JAVA_VERSION_TRIMMED` Gets the Java version as a `String` trimming leading letters.
`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` The `line.separator` System Property.
`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` The `path.separator` System Property.
`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 Summary
`SystemUtils()` SystemUtils instances should NOT be constructed in standard programming.

Method Summary
`static File` | `getJavaHome()` Gets the Java home directory as a `File`.
`static File` | `getJavaIoTmpDir()` Gets the Java IO temporary directory as a `File`.
`static float` | `getJavaVersion()` Deprecated. Use `JAVA_VERSION_FLOAT` instead. Method will be removed in Commons Lang 3.0.
`static File` | `getUserDir()` Gets the user directory as a `File`.
`static File` | `getUserHome()` Gets the user home directory as a `File`.
`static boolean` | `isJavaAwtHeadless()` Returns whether the `JAVA_AWT_HEADLESS` value is `true`.
`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.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### AWT_TOOLKIT

    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.

  Since:
    2.1

### FILE_ENCODING

    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.

  Since:
    2.0, Java 1.2

### FILE_SEPARATOR

    public static final 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)` or `System.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 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.

  Since:
    2.1

### JAVA_AWT_GRAPHICSENV

    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.

  Since:
    2.1

### JAVA_AWT_HEADLESS

    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.

  Since:
    2.1, Java 1.4
  See Also:
    `isJavaAwtHeadless()`

### JAVA_AWT_PRINTERJOB

    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.

  Since:
    2.1

### JAVA_CLASS_PATH

    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.

  Since:
    Java 1.1

### JAVA_CLASS_VERSION

    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.

  Since:
    Java 1.1

### JAVA_COMPILER

    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.

  Since:
    Java 1.2. Not used in Sun versions after 1.2.

### JAVA_ENDORSED_DIRS

    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.

  Since:
    Java 1.4

### JAVA_EXT_DIRS

    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.

  Since:
    Java 1.3

### JAVA_HOME

    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.

  Since:
    Java 1.1

### JAVA_IO_TMPDIR

    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.

  Since:
    Java 1.2

### JAVA_LIBRARY_PATH

    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.

  Since:
    Java 1.2

### JAVA_RUNTIME_NAME

    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.

  Since:
    2.0, Java 1.3

### JAVA_RUNTIME_VERSION

    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.

  Since:
    2.0, Java 1.3

### JAVA_SPECIFICATION_NAME

    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.

  Since:
    Java 1.2

### JAVA_SPECIFICATION_VENDOR

    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.

  Since:
    Java 1.2

### JAVA_SPECIFICATION_VERSION

    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.

  Since:
    Java 1.3

### JAVA_UTIL_PREFS_PREFERENCES_FACTORY

    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.

  Since:
    2.1, Java 1.4

### JAVA_VENDOR

    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.

  Since:
    Java 1.1

### JAVA_VENDOR_URL

    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.

  Since:
    Java 1.1

### JAVA_VERSION

    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.

  Since:
    Java 1.1

### JAVA_VM_INFO

    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.

  Since:
    2.0, Java 1.2

### JAVA_VM_NAME

    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.

  Since:
    Java 1.2

### JAVA_VM_SPECIFICATION_NAME

    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.

  Since:
    Java 1.2

### JAVA_VM_SPECIFICATION_VENDOR

    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.

  Since:
    Java 1.2

### JAVA_VM_SPECIFICATION_VERSION

    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.

  Since:
    Java 1.2

### JAVA_VM_VENDOR

    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.

  Since:
    Java 1.2

### JAVA_VM_VERSION

    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.

  Since:
    Java 1.2

### LINE_SEPARATOR

    public static final 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)` or `System.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 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.

  Since:
    Java 1.1

### OS_NAME

    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.

  Since:
    Java 1.1

### OS_VERSION

    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.

  Since:
    Java 1.1

### PATH_SEPARATOR

    public static final 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)` or `System.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 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.

  Since:
    2.0, Java 1.2

### USER_DIR

    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.

  Since:
    Java 1.1

### USER_HOME

    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.

  Since:
    Java 1.1

### USER_LANGUAGE

    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.

  Since:
    2.0, Java 1.2

### USER_NAME

    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.

  Since:
    Java 1.1

### USER_TIMEZONE

    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.

  Since:
    2.1

### JAVA_VERSION_TRIMMED

    public static final String JAVA_VERSION_TRIMMED

  Gets the Java version as a `String` trimming leading letters.

  The field will return `null` if `JAVA_VERSION` is `null`.

  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.2
  - `1.31f` for Java 1.3.1

  The field will return zero if `JAVA_VERSION` is `null`.

  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.2
  - `131` for Java 1.3.1

  The field will return zero if `JAVA_VERSION` is `null`.

  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` if `JAVA_VERSION` is `null`.

### 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` if `JAVA_VERSION` is `null`.

### 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` if `JAVA_VERSION` is `null`.

### 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` if `JAVA_VERSION` is `null`.

### 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` if `JAVA_VERSION` is `null`.

### 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` if `JAVA_VERSION` is `null`.

### 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` if `JAVA_VERSION` is `null`.

  Since:
    2.5

### IS_OS_AIX

    public static final boolean IS_OS_AIX

  Is `true` if this is AIX.

  The field will return `false` if `OS_NAME` is `null`.

  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` if `OS_NAME` is `null`.

  Since:
    2.0

### IS_OS_IRIX

    public static final boolean IS_OS_IRIX

  Is `true` if this is Irix.

  The field will return `false` if `OS_NAME` is `null`.

  Since:
    2.0

### IS_OS_LINUX

    public static final boolean IS_OS_LINUX

  Is `true` if this is Linux.

  The field will return `false` if `OS_NAME` is `null`.

  Since:
    2.0

### IS_OS_MAC

    public static final boolean IS_OS_MAC

  Is `true` if this is Mac.

  The field will return `false` if `OS_NAME` is `null`.

  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` if `OS_NAME` is `null`.

  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` if `OS_NAME` is `null`.

  Since:
    2.0

### IS_OS_SOLARIS

    public static final boolean IS_OS_SOLARIS

  Is `true` if this is Solaris.

  The field will return `false` if `OS_NAME` is `null`.

  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` if `OS_NAME` is `null`.

  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` if `OS_NAME` is `null`.

  Since:
    2.1

### IS_OS_WINDOWS

    public static final boolean IS_OS_WINDOWS

  Is `true` if this is Windows.

  The field will return `false` if `OS_NAME` is `null`.

  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` if `OS_NAME` is `null`.

  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` if `OS_NAME` is `null`.

  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` if `OS_NAME` is `null`.

  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` if `OS_NAME` is `null`.

  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` if `OS_NAME` is `null`.

  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` if `OS_NAME` is `null`.

  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` if `OS_NAME` is `null`.

  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` if `OS_NAME` is `null`.

  Since:
    2.5

Constructor Detail

### SystemUtils

    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.

Method Detail

### getJavaHome

    public static File getJavaHome()

  Gets the Java home directory as a `File`.

  Returns:
    a directory
  Throws:
    `SecurityException` - if a security manager exists and its `checkPropertyAccess` method doesn't allow access to the specified system property.
  Since:
    2.1
  See Also:
    `System.getProperty(String)`

### getJavaIoTmpDir

    public static File getJavaIoTmpDir()

  Gets the Java IO temporary directory as a `File`.

  Returns:
    a directory
  Throws:
    `SecurityException` - if a security manager exists and its `checkPropertyAccess` method doesn't allow access to the specified system property.
  Since:
    2.1
  See Also:
    `System.getProperty(String)`

### getJavaVersion

    public static float getJavaVersion()

  Deprecated. Use `JAVA_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.2
  - `1.31f` for JDK 1.3.1

  Returns:
    the version, for example 1.31f for JDK 1.3.1

### getUserDir

    public static File getUserDir()

  Gets the user directory as a `File`.

  Returns:
    a directory
  Throws:
    `SecurityException` - if a security manager exists and its `checkPropertyAccess` method doesn't allow access to the specified system property.
  Since:
    2.1
  See Also:
    `System.getProperty(String)`

### getUserHome

    public static File getUserHome()

  Gets the user home directory as a `File`.

  Returns:
    a directory
  Throws:
    `SecurityException` - if a security manager exists and its `checkPropertyAccess` 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 the `JAVA_AWT_HEADLESS` value is `true`.

  Returns:
    `true` if `JAVA_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.2
  - `1.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 greater
  - `131` 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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2001-2011 The Apache Software Foundation. All Rights Reserved.