`
jilong-liang
  • 浏览: 484184 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类

Java的System.getProperty详解

    博客分类:
  • Java
阅读更多
package javax.org.lang;
/**
 * @Date: 2013-6-18
 * @Author: jilongliang
 * @Description:System.getProperty详解
 */
@SuppressWarnings("all")
public class SysProperty {
	public static void main(String[] args) {
		System.out.println(compiler());
	}
	/**获取操作系统名称*/
	private static String osName() {
		return System.getProperty("os.name");
	}
	/**获取操作系统版本*/
	private static String osVersion() {
		return System.getProperty("os.version");
	}
	/**获取Java运行时环境供应商*/
	private static String vendor() {
		return System.getProperty("java.vendor");
	}
	/**获取Java供应商的 URL*/
	private static String vendorUrl() {
		return System.getProperty("java.vendor.url");
	}
	/**Java 安装目录*/
	private static String home() {
		return System.getProperty("java.home");
	}
	/**获取类的版本*/
	private static String classVersion() {
		return System.getProperty("java.class.version");
	}
	/**
	 * Java 类路径
	 * @return
	 */
	private static String classPath() {
		return System.getProperty("java.class.path");
	}
	/**
	 * 操作系统的架构
	 * @return
	 */
	private static String osArch() {

		return System.getProperty("os.arch");
	}
	/**
	 * 获取用户的账户名称
	 * @return
	 */
	private static String userName() {
		return System.getProperty("user.name");
	}
	/**
	 * 获取用户的主目录
	 * @return
	 */
	private static String userHome() {
		return System.getProperty("user.home");
	}
	/**
	 * 用户的当前工作目录
	 * @return
	 */
	private static String userDir() {
		return System.getProperty("user.dir");
	}
	/**
	 * Java 虚拟机规范版本
	 * @return
	 */
	private static String vmSpecificationVersion() {
		return System.getProperty("java.vm.specification.version");
	}
	/**
	 * Java 虚拟机规范供应商
	 * @return
	 */
	private static String vmSpecificationVendor() {
		return System.getProperty("java.vm.specification.vendor");
	}
	/**
	 * Java 虚拟机规范名称
	 * @return
	 */
	private static String vmSpecificationName() {
		return System.getProperty("java.vm.specification.name");
	}
	/**
	 * Java 虚拟机实现版本
	 * @return
	 */
	private static String vmVersion() {
		return System.getProperty("java.vm.version");
	}
	/**
	 * Java 虚拟机实现供应商
	 * @return
	 */
	private static String vmVendor() {
		return System.getProperty("java.vm.vendor");
	}
	/**
	 * Java 虚拟机实现名称
	 * @return
	 */
	private static String vmName() {
		return System.getProperty("java.vm.name");
	}
	/**
	 * 一个或多个扩展目录的路径
	 * @return
	 */
	private static String extDirs() {
		return System.getProperty("java.ext.dirs");
	}	
	/**
	 *加载库时搜索的路径列表
	 * @return
	 */
	private static String library() {
		return System.getProperty("java.library.path");
	}
	/**
	 * 文件分隔符(在 UNIX 系统中是“/”)
	 * @return
	 */
	private static String fileSeparator() {
		return System.getProperty("file.separator");
	}
	/**
	 * 路径分隔符(在 UNIX 系统中是“:”)
	 * @return
	 */
	private static String pathSeparator() {
		return System.getProperty("path.separator");
	}
	/**
	 * 行分隔符(在 UNIX 系统中是“/n”)
	 * @return
	 */
	private static String lineSeparator() {
		return System.getProperty("line.separator");
	}
	/**
	 * 要使用的 JIT 编译器的名称
	 * @return
	 */
	private static String compiler() {
		return System.getProperty("java.compiler");
	}

	/**
	 * C:\Users\ADMINI~1\AppData\Local\Temp\ 获取当前临时目录
	 * 
	 * @return
	 */
	public static String getSystempPath() {
		return System.getProperty("java.io.tmpdir");
	}

	/**
	 * 以\分割
	 * 
	 * @return
	 */
	public static String getSeparator() {
		return System.getProperty("file.separator");
	}

	/**
	 * 如:file:/D:/Workspaces/MyEclipse%208.6/myapp/WebRoot/WEB-INF/classes/未处理
	 * 处理后:D:\Workspaces\MyEclipse%208.6\napp\WebRoot\ 获取当前项目的路径
	 * 
	 * @return
	 */
	public static String getSysPath() {
		String path = Thread.currentThread().getContextClassLoader()
				.getResource("").toString();
		System.out.println(path);
		String temp = path.replaceFirst("file:/", "").replaceFirst("WEB-INF/classes/", "");
		String separator = System.getProperty("file.separator");
		String resultPath = temp.replaceAll("/", separator + separator);
		return resultPath;
	}

	/**
	 * 未处理 D:/Workspaces/MyEclipse%208.6/myapp/WebRoot/WEB-INF/classes/ 已处理
	 * D:\Workspaces\MyEclipse%208.6\myapp\WebRoot\WEB-INF\classes\
	 * 
	 * @return
	 */
	public static String getClassPath() {
		String path = Thread.currentThread().getContextClassLoader().getResource("").toString();
		String temp = path.replaceFirst("file:/", "");
		String separator = System.getProperty("file.separator");
		String resultPath = temp.replaceAll("/", separator + separator);
		return resultPath;
	}

}

 

package com.org;

import java.io.File;

public class SystemUtils
{
  private static final String OS_NAME_WINDOWS_PREFIX = "Windows";
  private static final String USER_HOME_KEY = "user.home";
  private static final String USER_DIR_KEY = "user.dir";
  private static final String JAVA_IO_TMPDIR_KEY = "java.io.tmpdir";
  private static final String JAVA_HOME_KEY = "java.home";
  public static final String AWT_TOOLKIT = getSystemProperty("awt.toolkit");

  public static final String FILE_ENCODING = getSystemProperty("file.encoding");

  public static final String FILE_SEPARATOR = getSystemProperty("file.separator");

  public static final String JAVA_AWT_FONTS = getSystemProperty("java.awt.fonts");

  public static final String JAVA_AWT_GRAPHICSENV = getSystemProperty("java.awt.graphicsenv");

  public static final String JAVA_AWT_HEADLESS = getSystemProperty("java.awt.headless");

  public static final String JAVA_AWT_PRINTERJOB = getSystemProperty("java.awt.printerjob");

  public static final String JAVA_CLASS_PATH = getSystemProperty("java.class.path");

  public static final String JAVA_CLASS_VERSION = getSystemProperty("java.class.version");

  public static final String JAVA_COMPILER = getSystemProperty("java.compiler");

  public static final String JAVA_ENDORSED_DIRS = getSystemProperty("java.endorsed.dirs");

  public static final String JAVA_EXT_DIRS = getSystemProperty("java.ext.dirs");

  public static final String JAVA_HOME = getSystemProperty("java.home");

  public static final String JAVA_IO_TMPDIR = getSystemProperty("java.io.tmpdir");

  public static final String JAVA_LIBRARY_PATH = getSystemProperty("java.library.path");

  public static final String JAVA_RUNTIME_NAME = getSystemProperty("java.runtime.name");

  public static final String JAVA_RUNTIME_VERSION = getSystemProperty("java.runtime.version");

  public static final String JAVA_SPECIFICATION_NAME = getSystemProperty("java.specification.name");

  public static final String JAVA_SPECIFICATION_VENDOR = getSystemProperty("java.specification.vendor");

  public static final String JAVA_SPECIFICATION_VERSION = getSystemProperty("java.specification.version");

  public static final String JAVA_UTIL_PREFS_PREFERENCES_FACTORY = getSystemProperty("java.util.prefs.PreferencesFactory");

  public static final String JAVA_VENDOR = getSystemProperty("java.vendor");

  public static final String JAVA_VENDOR_URL = getSystemProperty("java.vendor.url");

  public static final String JAVA_VERSION = getSystemProperty("java.version");

  public static final String JAVA_VM_INFO = getSystemProperty("java.vm.info");

  public static final String JAVA_VM_NAME = getSystemProperty("java.vm.name");

  public static final String JAVA_VM_SPECIFICATION_NAME = getSystemProperty("java.vm.specification.name");

  public static final String JAVA_VM_SPECIFICATION_VENDOR = getSystemProperty("java.vm.specification.vendor");

  public static final String JAVA_VM_SPECIFICATION_VERSION = getSystemProperty("java.vm.specification.version");

  public static final String JAVA_VM_VENDOR = getSystemProperty("java.vm.vendor");

  public static final String JAVA_VM_VERSION = getSystemProperty("java.vm.version");

  public static final String LINE_SEPARATOR = getSystemProperty("line.separator");

  public static final String OS_ARCH = getSystemProperty("os.arch");

  public static final String OS_NAME = getSystemProperty("os.name");

  public static final String OS_VERSION = getSystemProperty("os.version");

  public static final String PATH_SEPARATOR = getSystemProperty("path.separator");

  public static final String USER_COUNTRY = getSystemProperty("user.country") == null ? getSystemProperty("user.region") : getSystemProperty("user.country");

  public static final String USER_DIR = getSystemProperty("user.dir");

  public static final String USER_HOME = getSystemProperty("user.home");

  public static final String USER_LANGUAGE = getSystemProperty("user.language");

  public static final String USER_NAME = getSystemProperty("user.name");

  public static final String USER_TIMEZONE = getSystemProperty("user.timezone");

  public static final String JAVA_VERSION_TRIMMED = getJavaVersionTrimmed();

  public static final float JAVA_VERSION_FLOAT = getJavaVersionAsFloat();

  public static final int JAVA_VERSION_INT = getJavaVersionAsInt();

  public static final boolean IS_JAVA_1_1 = getJavaVersionMatches("1.1");

  public static final boolean IS_JAVA_1_2 = getJavaVersionMatches("1.2");

  public static final boolean IS_JAVA_1_3 = getJavaVersionMatches("1.3");

  public static final boolean IS_JAVA_1_4 = getJavaVersionMatches("1.4");

  public static final boolean IS_JAVA_1_5 = getJavaVersionMatches("1.5");

  public static final boolean IS_JAVA_1_6 = getJavaVersionMatches("1.6");

  public static final boolean IS_OS_AIX = getOSMatches("AIX");

  public static final boolean IS_OS_HP_UX = getOSMatches("HP-UX");

  public static final boolean IS_OS_IRIX = getOSMatches("Irix");

  public static final boolean IS_OS_LINUX = (getOSMatches("Linux")) || (getOSMatches("LINUX"));

  public static final boolean IS_OS_MAC = getOSMatches("Mac");

  public static final boolean IS_OS_MAC_OSX = getOSMatches("Mac OS X");

  public static final boolean IS_OS_OS2 = getOSMatches("OS/2");

  public static final boolean IS_OS_SOLARIS = getOSMatches("Solaris");

  public static final boolean IS_OS_SUN_OS = getOSMatches("SunOS");

  public static final boolean IS_OS_UNIX = (IS_OS_AIX) || (IS_OS_HP_UX) || (IS_OS_IRIX) || (IS_OS_LINUX) || (IS_OS_MAC_OSX) || (IS_OS_SOLARIS) || (IS_OS_SUN_OS);

  public static final boolean IS_OS_WINDOWS = getOSMatches("Windows");

  public static final boolean IS_OS_WINDOWS_2000 = getOSMatches("Windows", "5.0");

  public static final boolean IS_OS_WINDOWS_95 = getOSMatches("Windows 9", "4.0");

  public static final boolean IS_OS_WINDOWS_98 = getOSMatches("Windows 9", "4.1");

  public static final boolean IS_OS_WINDOWS_ME = getOSMatches("Windows", "4.9");

  public static final boolean IS_OS_WINDOWS_NT = getOSMatches("Windows NT");

  public static final boolean IS_OS_WINDOWS_XP = getOSMatches("Windows", "5.1");

  /** @deprecated */
  public static float getJavaVersion()
  {
    return JAVA_VERSION_FLOAT;
  }

  private static float getJavaVersionAsFloat()
  {
    if (JAVA_VERSION_TRIMMED == null) {
      return 0.0F;
    }
    String str = JAVA_VERSION_TRIMMED.substring(0, 3);
    if (JAVA_VERSION_TRIMMED.length() >= 5)
      str = str + JAVA_VERSION_TRIMMED.substring(4, 5);
    try
    {
      return Float.parseFloat(str); } catch (Exception ex) {
    }
    return 0.0F;
  }

  private static int getJavaVersionAsInt()
  {
    if (JAVA_VERSION_TRIMMED == null) {
      return 0;
    }
    String str = JAVA_VERSION_TRIMMED.substring(0, 1);
    str = str + JAVA_VERSION_TRIMMED.substring(2, 3);
    if (JAVA_VERSION_TRIMMED.length() >= 5)
      str = str + JAVA_VERSION_TRIMMED.substring(4, 5);
    else
      str = str + "0";
    try
    {
      return Integer.parseInt(str); } catch (Exception ex) {
    }
    return 0;
  }

  private static String getJavaVersionTrimmed()
  {
    if (JAVA_VERSION != null) {
      for (int i = 0; i < JAVA_VERSION.length(); i++) {
        char ch = JAVA_VERSION.charAt(i);
        if ((ch >= '0') && (ch <= '9')) {
          return JAVA_VERSION.substring(i);
        }
      }
    }
    return null;
  }

  private static boolean getJavaVersionMatches(String versionPrefix)
  {
    if (JAVA_VERSION_TRIMMED == null) {
      return false;
    }
    return JAVA_VERSION_TRIMMED.startsWith(versionPrefix);
  }

  private static boolean getOSMatches(String osNamePrefix)
  {
    if (OS_NAME == null) {
      return false;
    }
    return OS_NAME.startsWith(osNamePrefix);
  }

  private static boolean getOSMatches(String osNamePrefix, String osVersionPrefix)
  {
    if ((OS_NAME == null) || (OS_VERSION == null)) {
      return false;
    }
    return (OS_NAME.startsWith(osNamePrefix)) && (OS_VERSION.startsWith(osVersionPrefix));
  }

  private static String getSystemProperty(String property)
  {
    try
    {
      return System.getProperty(property);
    }
    catch (SecurityException ex) {
      System.err.println("Caught a SecurityException reading the system property '" + property + "'; the SystemUtils property value will default to null.");
    }

    return null;
  }

  public static boolean isJavaVersionAtLeast(float requiredVersion)
  {
    return JAVA_VERSION_FLOAT >= requiredVersion;
  }

  public static boolean isJavaVersionAtLeast(int requiredVersion)
  {
    return JAVA_VERSION_INT >= requiredVersion;
  }

  public static boolean isJavaAwtHeadless()
  {
    return JAVA_AWT_HEADLESS != null ? JAVA_AWT_HEADLESS.equals(Boolean.TRUE.toString()) : false;
  }

  public static File getJavaHome()
  {
    return new File(System.getProperty("java.home"));
  }

  public static File getJavaIoTmpDir()
  {
    return new File(System.getProperty("java.io.tmpdir"));
  }

  public static File getUserDir()
  {
    return new File(System.getProperty("user.dir"));
  }

  public static File getUserHome()
  {
    return new File(System.getProperty("user.home"));
  }
}

 

java.version

Java 运行时环境版本

java.vendor

Java 运行时环境供应商

java.vendor.url

Java 供应商的 URL

java.home

Java 安装目录

java.vm.specification.version

Java 虚拟机规范版本

java.vm.specification.vendor

Java 虚拟机规范供应商

java.vm.specification.name

Java 虚拟机规范名称

java.vm.version

Java 虚拟机实现版本

java.vm.vendor

Java 虚拟机实现供应商

java.vm.name

Java 虚拟机实现名称

java.specification.version

Java 运行时环境规范版本

java.specification.vendor

Java 运行时环境规范供应商

java.specification.name

Java 运行时环境规范名称

java.class.version

Java 类格式版本号

java.class.path

Java 类路径

java.library.path

加载库时搜索的路径列表

java.io.tmpdir

默认的临时文件路径

java.compiler

要使用的 JIT 编译器的名称

java.ext.dirs

一个或多个扩展目录的路径

os.name

操作系统的名称

os.arch

操作系统的架构

os.version

操作系统的版本

file.separator

文件分隔符(在 UNIX 系统中是“/”)

path.separator

路径分隔符(在 UNIX 系统中是“:”)

line.separator

行分隔符(在 UNIX 系统中是“/n”)

user.name

用户的账户名称

user.home

用户的主目录

user.dir

用户的当前工作目录

 

分享到:
评论

相关推荐

    java项目路径(相关信息)的取得

    本文将详细介绍如何利用`System.getProperty()`方法来获取Java项目的路径及相关信息,并对这些信息的具体含义进行深入解析。 #### `System.getProperty()`简介 `System.getProperty()`是Java提供的一个用于获取...

    java设置http代理

    System.out.println("Java 虚拟机规范版本:" + props.getProperty("java.vm.specification.version")); System.out.println("Java 虚拟机规范厂商:" + props.getProperty("java.vm.specification.vendor")); ...

    JAVA中如何得到文件路径.pdf

    ### JAVA中如何获取文件路径详解 #### 一、概述 在Java编程中,获取文件路径是一项基础而重要的技能。无论是处理本地文件还是部署在Web容器中的应用,了解如何正确地获取文件路径对于程序的正常运行至关重要。本文...

    不同手机设备 获取IMEI

    ### 不同手机设备获取IMEI方法详解 #### 一、前言 国际移动设备身份(International Mobile Equipment Identity,简称IMEI)是每台移动电话所独有的编号,它可以帮助运营商识别和跟踪每一部设备,用于防盗和其他...

    Java获取系统信息

    ### Java 获取系统信息知识点详解 #### 一、概述 在Java开发中,有时我们需要获取运行时系统的相关信息,比如IP地址、网卡地址、操作系统账户以及操作系统版本等。这些信息对于日志记录、故障排查和环境配置等方面...

    抓取网页数据函数

    在现代软件开发过程中,尤其是涉及到跨平台的应用程序时,了解并掌握如何利用 Java 的 `System.getProperty()` 方法来获取运行时系统的相关信息是非常重要的。这不仅可以帮助开发者更好地调试代码,还可以在不同环境...

    在Java中获取系统属性

    ### 在Java中获取系统属性详解 #### 一、引言 在Java开发中,了解如何获取和使用系统属性是非常重要的。这些系统属性包含了与运行环境相关的各种信息,比如操作系统名称、用户目录等,这对于开发跨平台的应用程序...

    java读取ini文件

    ### Java读取INI文件知识点详解 #### 一、概述 在Java编程中,经常会遇到需要读取配置文件的情况。配置文件通常用于存储程序运行时所需的参数设置,如数据库连接信息、系统路径等。INI文件是一种常见的配置文件...

    java的基础

    ### Java的基础知识点详解 #### 一、Java的基本文件读写操作 在Java中进行文件读写是一项非常基础但又至关重要的技能。通过本章节的学习,我们将掌握如何利用Java内置类来实现文件的基本读写功能。 ##### 1. 获取...

    Windows环境下Java加载DLL.docx

    String property = System.getProperty("java.library.path"); StringTokenizer parser = new StringTokenizer(property, ";"); while (parser.hasMoreTokens()) { System.err.println(parser.nextToken()); } ``` ...

    JAVA调用第三方DLL的方法.doc

    ### JAVA调用第三方DLL的方法详解 #### 一、概述 在Java开发中,有时需要调用第三方DLL(Dynamic Link Library)文件来实现特定的功能。这些DLL文件通常由C/C++等语言编写,提供了高性能的底层操作接口。本文将...

    J2EE与J2SE路径获取

    ### J2EE与J2SE路径获取方法详解 在Java开发过程中,无论是针对J2EE还是J2SE项目,路径的获取都是非常基础且重要的环节。本文将详细介绍在J2EE和J2SE环境下如何获取不同类型的路径,并通过具体示例进行说明。 ####...

    Java System类详解_动力节点Java学院整理

    - `System.setProperty()` 和 `System.getProperty()`:用于设置和获取系统属性。 3. **加载文件和类库**: - `System.load()`:加载指定的本地库文件(.dll或.so)。 - `System.loadLibrary()`:加载指定的本地...

    Java方法实例

    ### Java方法实例详解 #### 获取环境变量与系统属性 在Java中,我们可以通过`System`类来获取环境变量以及系统的一些基本属性。 1. **获取环境变量:** ```java String path = System.getenv("PATH"); // 获取...

    java连接oracle实例

    System.out.println(pro.getProperty("jdbc.driver")); dbUrl = pro.getProperty("jdbc.url"); theUser = pro.getProperty("jdbc.user"); thePw = pro.getProperty("jdbc.password"); driver = pro.getProperty...

    Java 类加载机制 ClassLoader Class.forName.pdf

    ### Java 类加载机制详解 #### 一、引言 Java 类加载机制是Java虚拟机(JVM)中的一个重要组成部分,它负责将编译后的字节码文件(.class)加载到内存中,形成Class对象,以便于Java程序能够识别并使用这些类。深入...

    高手总结java常用API.doc

    ### Java常用API详解 #### 一、Java面向对象基本概念 Java是一种主要基于面向对象编程(OOP)的语言,除了原始数据类型(如int、double等),几乎所有其他元素都是对象。对象是类的一个实例,拥有其特定的状态和行为...

    java 中file.encoding的设置详解

    System.out.println(System.getProperty("file.encoding")); ``` 然而,需要注意的是,一旦JVM启动并初始化完毕,尝试通过`System.getProperties().setProperty("file.encoding", "new_charset")`来修改`file....

    java路径获得几种方法.txt

    ### Java路径获取方法详解 #### 一、概述 在Java编程中,经常需要处理文件路径问题,特别是当涉及到Web应用程序时。Java提供了多种方法来获取虚拟路径与物理路径,这对于文件操作至关重要。本文将详细介绍几种获取...

Global site tag (gtag.js) - Google Analytics