Class SystemUtils
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 $
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringTheawt.toolkitSystem Property.static final StringThefile.encodingSystem Property.static final StringThefile.separatorSystem Property.static final booleanIstrueif this is Java version 1.1 (also 1.1.x versions).static final booleanIstrueif this is Java version 1.2 (also 1.2.x versions).static final booleanIstrueif this is Java version 1.3 (also 1.3.x versions).static final booleanIstrueif this is Java version 1.4 (also 1.4.x versions).static final booleanIstrueif this is Java version 1.5 (also 1.5.x versions).static final booleanIstrueif this is Java version 1.6 (also 1.6.x versions).static final booleanIstrueif this is Java version 1.7 (also 1.7.x versions).static final booleanIstrueif this is AIX.static final booleanIstrueif this is HP-UX.static final booleanIstrueif this is Irix.static final booleanIstrueif this is Linux.static final booleanIstrueif this is Mac.static final booleanIstrueif this is Mac.static final booleanIstrueif this is OS/2.static final booleanIstrueif this is Solaris.static final booleanIstrueif this is SunOS.static final booleanIstrueif this is a UNIX like system, as in any of AIX, HP-UX, Irix, Linux, MacOSX, Solaris or SUN OS.static final booleanIstrueif this is Windows.static final booleanIstrueif this is Windows 2000.static final booleanIstrueif this is Windows 7.static final booleanIstrueif this is Windows 95.static final booleanIstrueif this is Windows 98.static final booleanIstrueif this is Windows ME.static final booleanIstrueif this is Windows NT.static final booleanIstrueif this is Windows Vista.static final booleanIstrueif this is Windows XP.static final StringThejava.awt.fontsSystem Property.static final StringThejava.awt.graphicsenvSystem Property.static final StringThejava.awt.headlessSystem Property.static final StringThejava.awt.printerjobSystem Property.static final StringThejava.class.pathSystem Property.static final StringThejava.class.versionSystem Property.static final StringThejava.compilerSystem Property.static final StringThejava.endorsed.dirsSystem Property.static final StringThejava.ext.dirsSystem Property.static final StringThejava.homeSystem Property.private static final StringThe System property key for the Java home directory.static final StringThejava.io.tmpdirSystem Property.private static final StringThe System property key for the Java IO temporary directory.static final StringThejava.library.pathSystem Property.static final StringThejava.runtime.nameSystem Property.static final StringThejava.runtime.versionSystem Property.static final StringThejava.specification.nameSystem Property.static final StringThejava.specification.vendorSystem Property.static final StringThejava.specification.versionSystem Property.static final StringThejava.util.prefs.PreferencesFactorySystem Property.static final StringThejava.vendorSystem Property.static final StringThejava.vendor.urlSystem Property.static final StringThejava.versionSystem Property.static final floatGets the Java version as afloat.static final intGets the Java version as anint.private static final intstatic final StringGets the Java version as aStringtrimming leading letters.static final StringThejava.vm.infoSystem Property.static final StringThejava.vm.nameSystem Property.static final StringThejava.vm.specification.nameSystem Property.static final StringThejava.vm.specification.vendorSystem Property.static final StringThejava.vm.specification.versionSystem Property.static final StringThejava.vm.vendorSystem Property.static final StringThejava.vm.versionSystem Property.static final StringTheline.separatorSystem Property.static final StringTheos.archSystem Property.static final StringTheos.nameSystem Property.private static final StringThe prefix String for all Windows OS.static final StringTheos.versionSystem Property.static final StringThepath.separatorSystem Property.static final StringTheuser.countryoruser.regionSystem Property.static final StringTheuser.dirSystem Property.private static final StringThe System property key for the user directory.static final StringTheuser.homeSystem Property.private static final StringThe System property key for the user home directory.static final StringTheuser.languageSystem Property.static final StringTheuser.nameSystem Property.static final StringTheuser.timezoneSystem Property. -
Constructor Summary
ConstructorsConstructorDescriptionSystemUtils instances should NOT be constructed in standard programming. -
Method Summary
Modifier and TypeMethodDescriptionstatic FileGets the Java home directory as aFile.static FileGets the Java IO temporary directory as aFile.static floatDeprecated.private static floatGets the Java version number as afloat.private static intGets the Java version number as anint.private static booleangetJavaVersionMatches(String versionPrefix) Decides if the Java version matches.private static StringTrims the text of the java version to start with numbers.private static booleangetOSMatches(String osNamePrefix, String osVersionPrefix) Decides if the operating system matches.private static booleangetOSMatchesName(String osNamePrefix) Decides if the operating system matches.private static StringgetSystemProperty(String property) Gets a System property, defaulting tonullif the property cannot be read.static FileGets the user directory as aFile.static FileGets the user home directory as aFile.static booleanReturns whether theJAVA_AWT_HEADLESSvalue istrue.static booleanisJavaVersionAtLeast(float requiredVersion) Is the Java version at least the requested version.static booleanisJavaVersionAtLeast(int requiredVersion) Is the Java version at least the requested version.(package private) static booleanisJavaVersionMatch(String version, String versionPrefix) Decides if the Java version matches.(package private) static booleanDecides if the operating system matches.(package private) static booleanisOSNameMatch(String osName, String osNamePrefix) Decides if the operating system matches.(package private) static floattoJavaVersionFloat(String version) Converts the given Java version string to afloat.(package private) static inttoJavaVersionInt(String version) Converts the given Java version string to anint.(package private) static int[]toJavaVersionIntArray(String version) Converts the given Java version string to anint[]of maximum size3.private static int[]toJavaVersionIntArray(String version, int limit) Converts the given Java version string to anint[]of maximum sizelimit.private static floattoVersionFloat(int[] javaVersions) Converts given the Java version array to afloat.private static inttoVersionInt(int[] javaVersions) Converts given the Java version array to anint.
-
Field Details
-
JAVA_VERSION_TRIM_SIZE
private static final int JAVA_VERSION_TRIM_SIZE- See Also:
-
OS_NAME_WINDOWS_PREFIX
The prefix String for all Windows OS.- See Also:
-
USER_HOME_KEY
The System property key for the user home directory.- See Also:
-
USER_DIR_KEY
The System property key for the user directory.- See Also:
-
JAVA_IO_TMPDIR_KEY
The System property key for the Java IO temporary directory.- See Also:
-
JAVA_HOME_KEY
The System property key for the Java home directory.- See Also:
-
AWT_TOOLKIT
The
awt.toolkitSystem Property.Holds a class name, on Windows XP this is
sun.awt.windows.WToolkit.On platforms without a GUI, this value is
null.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- 2.1
-
FILE_ENCODING
The
file.encodingSystem Property.File encoding, such as
Cp1252.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- 2.0, Java 1.2
-
FILE_SEPARATOR
The
file.separatorSystem Property. File separator ("/"on UNIX).Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- Java 1.1
-
JAVA_AWT_FONTS
The
java.awt.fontsSystem Property.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- 2.1
-
JAVA_AWT_GRAPHICSENV
The
java.awt.graphicsenvSystem Property.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- 2.1
-
JAVA_AWT_HEADLESS
The
java.awt.headlessSystem Property. The value of this property is the String"true"or"false".Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- 2.1, Java 1.4
- See Also:
-
JAVA_AWT_PRINTERJOB
The
java.awt.printerjobSystem Property.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- 2.1
-
JAVA_CLASS_PATH
The
java.class.pathSystem Property. Java class path.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- Java 1.1
-
JAVA_CLASS_VERSION
The
java.class.versionSystem Property. Java class format version number.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- Java 1.1
-
JAVA_COMPILER
The
java.compilerSystem Property. Name of JIT compiler to use. First in JDK version 1.2. Not used in Sun JDKs after 1.2.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- Java 1.2. Not used in Sun versions after 1.2.
-
JAVA_ENDORSED_DIRS
The
java.endorsed.dirsSystem Property. Path of endorsed directory or directories.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- Java 1.4
-
JAVA_EXT_DIRS
The
java.ext.dirsSystem Property. Path of extension directory or directories.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- Java 1.3
-
JAVA_HOME
The
java.homeSystem Property. Java installation directory.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- Java 1.1
-
JAVA_IO_TMPDIR
The
java.io.tmpdirSystem Property. Default temp file path.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- Java 1.2
-
JAVA_LIBRARY_PATH
The
java.library.pathSystem Property. List of paths to search when loading libraries.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- Java 1.2
-
JAVA_RUNTIME_NAME
The
java.runtime.nameSystem Property. Java Runtime Environment name.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- 2.0, Java 1.3
-
JAVA_RUNTIME_VERSION
The
java.runtime.versionSystem Property. Java Runtime Environment version.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- 2.0, Java 1.3
-
JAVA_SPECIFICATION_NAME
The
java.specification.nameSystem Property. Java Runtime Environment specification name.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- Java 1.2
-
JAVA_SPECIFICATION_VENDOR
The
java.specification.vendorSystem Property. Java Runtime Environment specification vendor.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- Java 1.2
-
JAVA_SPECIFICATION_VERSION
The
java.specification.versionSystem Property. Java Runtime Environment specification version.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- Java 1.3
-
JAVA_UTIL_PREFS_PREFERENCES_FACTORY
The
java.util.prefs.PreferencesFactorySystem Property. A class name.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- 2.1, Java 1.4
-
JAVA_VENDOR
The
java.vendorSystem Property. Java vendor-specific string.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- Java 1.1
-
JAVA_VENDOR_URL
The
java.vendor.urlSystem Property. Java vendor URL.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- Java 1.1
-
JAVA_VERSION
The
java.versionSystem Property. Java version number.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- Java 1.1
-
JAVA_VM_INFO
The
java.vm.infoSystem Property. Java Virtual Machine implementation info.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- 2.0, Java 1.2
-
JAVA_VM_NAME
The
java.vm.nameSystem Property. Java Virtual Machine implementation name.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- Java 1.2
-
JAVA_VM_SPECIFICATION_NAME
The
java.vm.specification.nameSystem Property. Java Virtual Machine specification name.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- Java 1.2
-
JAVA_VM_SPECIFICATION_VENDOR
The
java.vm.specification.vendorSystem Property. Java Virtual Machine specification vendor.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- Java 1.2
-
JAVA_VM_SPECIFICATION_VERSION
The
java.vm.specification.versionSystem Property. Java Virtual Machine specification version.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- Java 1.2
-
JAVA_VM_VENDOR
The
java.vm.vendorSystem Property. Java Virtual Machine implementation vendor.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- Java 1.2
-
JAVA_VM_VERSION
The
java.vm.versionSystem Property. Java Virtual Machine implementation version.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- Java 1.2
-
LINE_SEPARATOR
The
line.separatorSystem Property. Line separator ("\n"on UNIX).Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- Java 1.1
-
OS_ARCH
The
os.archSystem Property. Operating system architecture.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- Java 1.1
-
OS_NAME
The
os.nameSystem Property. Operating system name.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- Java 1.1
-
OS_VERSION
The
os.versionSystem Property. Operating system version.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- Java 1.1
-
PATH_SEPARATOR
The
path.separatorSystem Property. Path separator (":"on UNIX).Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- Java 1.1
-
USER_COUNTRY
The
user.countryoruser.regionSystem Property. User's country code, such asGB. First in Java version 1.2 asuser.region. Renamed touser.countryin 1.4Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- 2.0, Java 1.2
-
USER_DIR
The
user.dirSystem Property. User's current working directory.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- Java 1.1
-
USER_HOME
The
user.homeSystem Property. User's home directory.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- Java 1.1
-
USER_LANGUAGE
The
user.languageSystem Property. User's language code, such as"en".Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- 2.0, Java 1.2
-
USER_NAME
The
user.nameSystem Property. User's account name.Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- Java 1.1
-
USER_TIMEZONE
The
user.timezoneSystem Property. For example:"America/Los_Angeles".Defaults to
nullif the runtime does not have security access to read this property or the property does not exist.This value is initialized when the class is loaded. If
System.setProperty(String,String)orSystem.setProperties(java.util.Properties)is called after this class is loaded, the value will be out of sync with that System property.- Since:
- 2.1
-
JAVA_VERSION_TRIMMED
Gets the Java version as a
Stringtrimming leading letters.The field will return
nullifJAVA_VERSIONisnull.- Since:
- 2.1
-
JAVA_VERSION_FLOAT
public static final float JAVA_VERSION_FLOATGets the Java version as a
float.Example return values:
1.2ffor Java 1.21.31ffor Java 1.3.1
The field will return zero if
JAVA_VERSIONisnull.- Since:
- 2.0
-
JAVA_VERSION_INT
public static final int JAVA_VERSION_INTGets the Java version as an
int.Example return values:
120for Java 1.2131for Java 1.3.1
The field will return zero if
JAVA_VERSIONisnull.- Since:
- 2.0
-
IS_JAVA_1_1
public static final boolean IS_JAVA_1_1Is
trueif this is Java version 1.1 (also 1.1.x versions).The field will return
falseifJAVA_VERSIONisnull. -
IS_JAVA_1_2
public static final boolean IS_JAVA_1_2Is
trueif this is Java version 1.2 (also 1.2.x versions).The field will return
falseifJAVA_VERSIONisnull. -
IS_JAVA_1_3
public static final boolean IS_JAVA_1_3Is
trueif this is Java version 1.3 (also 1.3.x versions).The field will return
falseifJAVA_VERSIONisnull. -
IS_JAVA_1_4
public static final boolean IS_JAVA_1_4Is
trueif this is Java version 1.4 (also 1.4.x versions).The field will return
falseifJAVA_VERSIONisnull. -
IS_JAVA_1_5
public static final boolean IS_JAVA_1_5Is
trueif this is Java version 1.5 (also 1.5.x versions).The field will return
falseifJAVA_VERSIONisnull. -
IS_JAVA_1_6
public static final boolean IS_JAVA_1_6Is
trueif this is Java version 1.6 (also 1.6.x versions).The field will return
falseifJAVA_VERSIONisnull. -
IS_JAVA_1_7
public static final boolean IS_JAVA_1_7Is
trueif this is Java version 1.7 (also 1.7.x versions).The field will return
falseifJAVA_VERSIONisnull.- Since:
- 2.5
-
IS_OS_AIX
public static final boolean IS_OS_AIXIs
trueif this is AIX.The field will return
falseifOS_NAMEisnull.- Since:
- 2.0
-
IS_OS_HP_UX
public static final boolean IS_OS_HP_UXIs
trueif this is HP-UX.The field will return
falseifOS_NAMEisnull.- Since:
- 2.0
-
IS_OS_IRIX
public static final boolean IS_OS_IRIXIs
trueif this is Irix.The field will return
falseifOS_NAMEisnull.- Since:
- 2.0
-
IS_OS_LINUX
public static final boolean IS_OS_LINUXIs
trueif this is Linux.The field will return
falseifOS_NAMEisnull.- Since:
- 2.0
-
IS_OS_MAC
public static final boolean IS_OS_MACIs
trueif this is Mac.The field will return
falseifOS_NAMEisnull.- Since:
- 2.0
-
IS_OS_MAC_OSX
public static final boolean IS_OS_MAC_OSXIs
trueif this is Mac.The field will return
falseifOS_NAMEisnull.- Since:
- 2.0
-
IS_OS_OS2
public static final boolean IS_OS_OS2Is
trueif this is OS/2.The field will return
falseifOS_NAMEisnull.- Since:
- 2.0
-
IS_OS_SOLARIS
public static final boolean IS_OS_SOLARISIs
trueif this is Solaris.The field will return
falseifOS_NAMEisnull.- Since:
- 2.0
-
IS_OS_SUN_OS
public static final boolean IS_OS_SUN_OSIs
trueif this is SunOS.The field will return
falseifOS_NAMEisnull.- Since:
- 2.0
-
IS_OS_UNIX
public static final boolean IS_OS_UNIXIs
trueif this is a UNIX like system, as in any of AIX, HP-UX, Irix, Linux, MacOSX, Solaris or SUN OS.The field will return
falseifOS_NAMEisnull.- Since:
- 2.1
-
IS_OS_WINDOWS
public static final boolean IS_OS_WINDOWSIs
trueif this is Windows.The field will return
falseifOS_NAMEisnull.- Since:
- 2.0
-
IS_OS_WINDOWS_2000
public static final boolean IS_OS_WINDOWS_2000Is
trueif this is Windows 2000.The field will return
falseifOS_NAMEisnull.- Since:
- 2.0
-
IS_OS_WINDOWS_95
public static final boolean IS_OS_WINDOWS_95Is
trueif this is Windows 95.The field will return
falseifOS_NAMEisnull.- Since:
- 2.0
-
IS_OS_WINDOWS_98
public static final boolean IS_OS_WINDOWS_98Is
trueif this is Windows 98.The field will return
falseifOS_NAMEisnull.- Since:
- 2.0
-
IS_OS_WINDOWS_ME
public static final boolean IS_OS_WINDOWS_MEIs
trueif this is Windows ME.The field will return
falseifOS_NAMEisnull.- Since:
- 2.0
-
IS_OS_WINDOWS_NT
public static final boolean IS_OS_WINDOWS_NTIs
trueif this is Windows NT.The field will return
falseifOS_NAMEisnull.- Since:
- 2.0
-
IS_OS_WINDOWS_XP
public static final boolean IS_OS_WINDOWS_XPIs
trueif this is Windows XP.The field will return
falseifOS_NAMEisnull.- Since:
- 2.0
-
IS_OS_WINDOWS_VISTA
public static final boolean IS_OS_WINDOWS_VISTAIs
trueif this is Windows Vista.The field will return
falseifOS_NAMEisnull.- Since:
- 2.4
-
IS_OS_WINDOWS_7
public static final boolean IS_OS_WINDOWS_7Is
trueif this is Windows 7.The field will return
falseifOS_NAMEisnull.- Since:
- 2.5
-
-
Constructor Details
-
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 Details
-
getJavaHome
Gets the Java home directory as a
File.- Returns:
- a directory
- Throws:
SecurityException- if a security manager exists and itscheckPropertyAccessmethod doesn't allow access to the specified system property.- Since:
- 2.1
- See Also:
-
getJavaIoTmpDir
Gets the Java IO temporary directory as a
File.- Returns:
- a directory
- Throws:
SecurityException- if a security manager exists and itscheckPropertyAccessmethod doesn't allow access to the specified system property.- Since:
- 2.1
- See Also:
-
getJavaVersion
public static float getJavaVersion()Deprecated.UseJAVA_VERSION_FLOATinstead. Method will be removed in Commons Lang 3.0.Gets the Java version number as a
float.Example return values:
1.2ffor JDK 1.21.31ffor 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.2ffor Java 1.21.31ffor Java 1.3.11.6ffor 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:
120for Java 1.2131for Java 1.3.1160for Java 1.6.0_20
Patch releases are not reported.
- Returns:
- the version, for example 131 for Java 1.3.1
-
getJavaVersionMatches
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
Trims the text of the java version to start with numbers.- Returns:
- the trimmed java version
-
getOSMatches
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
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
Gets a System property, defaulting to
nullif the property cannot be read.If a
SecurityExceptionis caught, the return value isnulland a message is written toSystem.err.- Parameters:
property- the system property name- Returns:
- the system property value or
nullif a security problem occurs
-
getUserDir
Gets the user directory as a
File.- Returns:
- a directory
- Throws:
SecurityException- if a security manager exists and itscheckPropertyAccessmethod doesn't allow access to the specified system property.- Since:
- 2.1
- See Also:
-
getUserHome
Gets the user home directory as a
File.- Returns:
- a directory
- Throws:
SecurityException- if a security manager exists and itscheckPropertyAccessmethod doesn't allow access to the specified system property.- Since:
- 2.1
- See Also:
-
isJavaAwtHeadless
public static boolean isJavaAwtHeadless()Returns whether theJAVA_AWT_HEADLESSvalue istrue.- Returns:
trueifJAVA_AWT_HEADLESSis"true",falseotherwise.- Since:
- 2.1, Java 1.4
- See Also:
-
isJavaVersionAtLeast
public static boolean isJavaVersionAtLeast(float requiredVersion) Is the Java version at least the requested version.
Example input:
1.2fto test for Java 1.21.31fto test for Java 1.3.1
- Parameters:
requiredVersion- the required version, for example 1.31f- Returns:
trueif 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:
120to test for Java 1.2 or greater131to test for Java 1.3.1 or greater
- Parameters:
requiredVersion- the required version, for example 131- Returns:
trueif the actual version is equal or greater than the required version- Since:
- 2.0
-
isJavaVersionMatch
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(String osName, String osVersion, String osNamePrefix, 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
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
Converts the given Java version string to a
float.Example return values:
1.2ffor Java 1.21.31ffor Java 1.3.11.6ffor 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
Converts the given Java version string to an
int.Example return values:
120for Java 1.2131for Java 1.3.1160for 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
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
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.2ffor Java 1.21.31ffor Java 1.3.11.6ffor 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:
120for Java 1.2131for Java 1.3.1160for 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
-
JAVA_VERSION_FLOATinstead.