系统属性
Java平台本身使用一个Properties对象来维护其自己的配置。System类中维护了一个静态的Properties对象保存当前工作环境的系统属性。
重要的系统属性
键
含义
"file.separator"
分隔文件路径各部分的字符。/在UNIX上是“ ”,\在Windows上是“ ” 。
"java.class.path"
用于查找包含类文件的目录和JAR归档文件的路径。类路径的元素由path.separator属性中指定的特定于平台的字符分隔。
"java.home"
Java Runtime Environment(JRE)的安装目录
"java.vendor"
JRE供应商名称
"java.vendor.url"
JRE供应商URL
"java.version"
JRE版本号
"line.separator"
操作系统用于分隔文本文件中各行的顺序
"os.arch"
操作系统架构
"os.name"
操作系统名称
"os.version"
作业系统版本
"path.separator"
用于的路径分隔符 java.class.path
"user.dir"
用户工作目录
"user.home"
用户主目录
"user.name"
用户帐号名称
读取系统属性
获取所有的属性:
System.getProperties()
获取某一个属性:
System.getProperty(key)
设置系统属性
设置某一个属性:
System.setProperty("custom_key", "custom_value");
获取某一个属性(通过文件):
import java.io.FileInputStream;
import java.util.Properties;
public class PropertiesTest {
public static void main(String[] args)
throws Exception {
// set up new properties object
// from file "myProperties.txt"
FileInputStream propFile = new FileInputStream( "myProperties.txt");
Properties p = new Properties(System.getProperties());
p.load(propFile);
// set the system properties
System.setProperties(p);
// display new properties
System.getProperties().list(System.out);
}
}
命令行设置系统属性(-D)
java -Dcustom_key="custom_value" application_launcher_class
注意:
通常,请不要覆盖系统属性,更改系统属性有潜在危险,应谨慎执行。
以上更改应用程序中系统属性的操作是不持久的。每次启动时,运行时系统都会重新初始化系统属性。如果要持久保留对系统属性的更改,则应用程序必须在退出之前将值写入某个文件,并在启动时再次读取它们。
最后:
欢迎大家关注我的公众号【JavaRush】,主要是关于Java方面的一些知识点总结和面试题,希望大家多多关注一起交流。