在Java编程中,System.getProperty()
方法是一个非常有用的工具,用于获取系统属性。这些属性提供了关于Java运行时环境和操作系统的详细信息。以下是通过 System.getProperty()
可以获取的一些常见系统属性:
System.out.println("Java版本号: " + System.getProperty("java.version")); // Java版本号 System.out.println("Java提供商名称: " + System.getProperty("java.vendor")); // Java提供商名称 System.out.println("Java提供商网站: " + System.getProperty("java.vendor.url")); // Java提供商网站 System.out.println("JRE目录: " + System.getProperty("java.home")); // JRE目录 System.out.println("Java虚拟机规范版本号: " + System.getProperty("java.vm.specification.version")); // Java虚拟机规范版本号 System.out.println("Java虚拟机规范提供商: " + System.getProperty("java.vm.specification.vendor")); // Java虚拟机规范提供商 System.out.println("Java虚拟机规范名称: " + System.getProperty("java.vm.specification.name")); // Java虚拟机规范名称 System.out.println("Java虚拟机版本号: " + System.getProperty("java.vm.version")); // Java虚拟机版本号 System.out.println("Java虚拟机提供商: " + System.getProperty("java.vm.vendor")); // Java虚拟机提供商 System.out.println("Java虚拟机名称: " + System.getProperty("java.vm.name")); // Java虚拟机名称 System.out.println("Java规范版本号: " + System.getProperty("java.specification.version")); // Java规范版本号 System.out.println("Java规范提供商: " + System.getProperty("java.specification.vendor")); // Java规范提供商 System.out.println("Java规范名称: " + System.getProperty("java.specification.name")); // Java规范名称 System.out.println("Java类版本号: " + System.getProperty("java.class.version")); // Java类版本号 System.out.println("Java类路径: " + System.getProperty("java.class.path")); // Java类路径 System.out.println("Java库路径: " + System.getProperty("java.library.path")); // Java库路径 System.out.println("Java输入输出临时路径: " + System.getProperty("java.io.tmpdir")); // Java输入输出临时路径 System.out.println("Java编译器: " + System.getProperty("java.compiler")); // Java编译器 System.out.println("Java扩展目录: " + System.getProperty("java.ext.dirs")); // Java扩展目录 System.out.println("操作系统名称: " + System.getProperty("os.name")); // 操作系统名称 System.out.println("操作系统的架构: " + System.getProperty("os.arch")); // 操作系统的架构 System.out.println("操作系统版本号: " + System.getProperty("os.version")); // 操作系统版本号 System.out.println("文件分隔符: " + System.getProperty("file.separator")); // 文件分隔符 System.out.println("路径分隔符: " + System.getProperty("path.separator")); // 路径分隔符 System.out.println("行分隔符: " + System.getProperty("line.separator")); // 行分隔符 System.out.println("操作系统用户名: " + System.getProperty("user.name")); // 用户名 System.out.println("用户主目录: " + System.getProperty("user.home")); // 用户主目录 System.out.println("当前工作目录: " + System.getProperty("user.dir")); // 当前工作目录
注意: System.getProperty("user.dir")
返回的可能是当前工作目录,而不是项目的根目录。例如,在Eclipse中调试时,返回的路径可能是Eclipse的安装目录,而不是项目的实际目录。
例如,我在一个类文件中加入了以下代码:
System.out.println("当前工作目录: " + System.getProperty("user.dir"));
在Eclipse中调试时,输出结果为:
当前工作目录: C:\eclipse\eclipse
而我的项目目录实际上是:
C:\tomcat7\webapps\jobserver
因此,使用 System.getProperty("user.dir")
时需要注意这一点。