企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# Java 系统属性 > 原文: [https://howtodoinjava.com/java/basics/java-system-properties/](https://howtodoinjava.com/java/basics/java-system-properties/) Java 为其操作维护了一组系统属性。 每个 **java 系统属性**是一个键值(字符串-字符串)对,例如`java.version = "1.7.0_09"`。 您可以通过`System.getProperties()`检索所有系统属性,也可以通过`System.getProperty(key)`检索单个属性。 请注意,Java 安全管理器和策略文件可能会限制对[系统属性](https://docs.oracle.com/javase/tutorial/essential/environment/sysprop.html)的访问。 默认情况下,Java 程序可以不受限制地访问所有系统属性。 ```java Table of Contents Important Java System Properties Get System Property Set System Property ``` ## 重要的 Java 系统属性 1. #### JRE 相关的系统属性 | | | | --- | --- | | `java.home` | JRE 主目录,例如“ `C:\Program Files\Java\jdk1.7.0_09\jre` ”。 | | `java.library.path` | 用于搜索本机库的 JRE 库搜索路径。 通常但不一定来自环境变量`PATH`。 | | `java.class.path` | JRE 类路径,例如`'.'` (点,用于当前工作目录)。 | | `java.ext.dirs` | JRE 扩展库路径,例如“ `C:\Program Files\Java\jdk1.7.0_09\jre\lib\ext;C:\Windows\Sun\Java\lib\ext` ”。 | | `java.version` | JDK 版本,例如 `1.7.0_09` 。 | | `java.runtime.version` | JRE 版本,例如 `1.7.0_09-b05` 。 | 2. #### 文件相关的系统属性 | | | | --- | --- | | `file.separator` | 文件目录分隔符的符号,例如`'d:\test\test.java'`。 对于 Windows,默认值为 `'\'`,对于 Unix / Mac,默认值为`'/'` 。 | | `path.separator` | 用于分隔路径条目的符号,例如`PATH`或`CLASSPATH`中的符号。 对于 Windows,默认值为`';'`,对于 Unix / Mac,默认值为`':'`。 | | `line.separator` | 行尾(或换行)的符号。 对于 Windows,默认值为`"\r\n"`,对于 Unix / Mac OS X,默认值为`"\n"`。 | 3. #### 与用户相关的系统属性 | | | | --- | --- | | `user.name` | 用户名。 | | `user.home` | 用户的主目录。 | | `user.dir` | 用户的当前工作目录。 | 4. #### 与操作系统相关的系统属性 | | | | --- | --- | | `os.name` | 操作系统的名称,例如“`Windows 7`”。 | | `os.version` | 操作系统的版本,例如“`6.1`”。 | | `os.arch` | 操作系统的架构,例如“`x86`”。 | ## 获取系统属性 如前所述,您可以通过`System.getProperties()`获取所有系统属性,也可以通过`System.getProperty(key)`检索单个属性。 ```java import java.util.Properties; public class PrintSystemProperties { public static void main(String[] a) { // List all System properties Properties pros = System.getProperties(); pros.list(System.out); // Get a particular System property given its key // Return the property value or null System.out.println(System.getProperty("java.home")); System.out.println(System.getProperty("java.library.path")); System.out.println(System.getProperty("java.ext.dirs")); System.out.println(System.getProperty("java.class.path")); } } ``` ## 设置系统属性 在 Java 中,可以从命令工具或从 Java 代码本身设置自定义系统属性。 1. #### 从命令行设置系统属性(`-D`选项) ```java java -Dcustom_key="custom_value" application_launcher_class ``` 2. #### 使用`System.setProperty()`方法从代码设置系统属性 ```java System.setProperty("custom_key", "custom_value"); ``` 这就是本基本教程的全部内容,内容涉及**用 Java** 读写系统属性。 学习愉快!