Java tutorial
//package com.javadocking.util; /** * This class determines the version of the Java Virtual Machine. * * @author Heidi Rakels. */ public class JvmVersionUtil { // Static fields. /** The integer for java 1.3 versions of the JVM. */ public static final int VERSION_3_OR_LESS = 3; /** The integer for java 5 versions of the JVM. */ public static final int VERSION_4_or_5 = 4; /** The integer for java 6 versions of the JVM. */ public static final int VERSION_6_OR_MORE = 6; /** The float for java 4 versions of the JVM. */ private static final float VERSION_4 = 1.4f; /** The integer for java 6 versions of the JVM. */ private static final float VERSION_6 = 1.6f; // Public static methods. /** * Gets the version of the JVM. * * @return The integer that corresponds with the version of the JVM. This * can be VERSION_3_OR_LESS,VERSION_4_or_5, VERSION_6_OR_MORE. * @throws IllegalStateException * If the system property <code>java.version</code> does not * start with a x.x. x should be a number. */ public static int getVersion() { // Get the system property java.vm.version. String jVersion = System.getProperty("java.version"); // Get the version number. int pointPosition = jVersion.indexOf("."); if (pointPosition > 0) { if (jVersion.length() >= pointPosition + 2) { String version = jVersion.substring(0, pointPosition + 2); try { float versionNumber = Float.parseFloat(version); if (versionNumber < VERSION_4) { return VERSION_3_OR_LESS; } if (versionNumber < VERSION_6) { return VERSION_4_or_5; } else { return VERSION_6_OR_MORE; } } catch (NumberFormatException exception) { throw new IllegalStateException("Unknown java version [" + jVersion + "]."); } } } throw new IllegalStateException("Unknown java version [" + jVersion + "]."); } // Test. // public static void main(String[] args) { // // String version = System.getProperty("java.vm.version"); // System.out.println("Version number: " + getVersion()); // System.out.println("Version string: " + version); // // } // Private constructor. private JvmVersionUtil() { } }