Java系统属性与Preferences API的简单介绍

java

系统属性在和Preferences API都是键值对,前者只能当前应用程序中共享数据,而后者可以在用户的各个应用或用户之间共享数据。

系统属性

Java 的系统属性决定了 Java 程序实际运行的环境,默认情况下,JVM 启动时采用系统默认属性值。系统属性顾名思义是指与用户程序相关的操作系统配置信息以及软件信息,位于java.lang包中。

设计到的方法:

//获取当前的所有系统属性

public static Properties getProperties()

//设置当前的系统属性

public static void setProperties(Properties props)

//获取指定键的系统属性

public static String getProperty(String key)

//获取指定键的系统属性,def为默认值

public static String getProperty(String key,String def)

//设置指定键的系统属性

public static String setProperty(String key,String value)

//移除指定键指示的系统属性

public static String clearProperty(String key)

示例

package net.oseye;

public class RunMain {

public static void main(String[] args) {

System.out.println(System.getProperty("java.home"));

System.setProperty("website", "oseye.net");

System.out.println(System.getProperty("website"));

}

}

输出

C:\Program Files\Java\jre7

oseye.net

系统属性还可以在执行程序的时使用 -D的方式设置这个属性的值,如这样执行示例:

java -Djava.home=mytest net.oseye.RunMain

输出

mytest

Java的所有默认的系统属性

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 用户的当前工作目录

Preferences API首选项和配置数据

Preferences API 是轻型的、跨平台的持久性 API,用来存储少量数据的,它是在 JDK 1.4中引入的。它不是为了为传统数据库引擎提供一个接口,而是用恰当的、操作系统特定的后端以实现真正的持久性,位于java.util.prefs包中。

此数据持久存储在依赖于实现的内部存储中。有两个独立的首选项节点树,一个用于用户首选项(userRoot),一个用于系统首选项(sysRoot)。

用户首选项是同一用户共享数据,而系统首选项是所有用户共享。

示例

package net.oseye;

import java.util.prefs.Preferences;

public class RunMain {

public static void main(String[] args) {

Preferences root = Preferences.userRoot();

root.put("website", "oseye.net");

System.out.println(root.get("website", "NotFound"));

}

}

输出

oseye.net

相关的方法:

//将指定值与此首选项节点中的指定键相关联

public abstract void put(String key,String value)

//返回与此首选项节点中指定键相关联的值,def为默认值

public abstract String get(String key,String def)

还有很多相应类型的get和put如:getInt,putInt,getLong,putLong等等。

示例中使用的是用户首选项,所以同一个用户的其他应用程序同样可以获取键“website”的值,可以自己动手试试。

以上是 Java系统属性与Preferences API的简单介绍 的全部内容, 来源链接: utcz.com/z/393824.html

回到顶部