这里首先要说明的是,Java并不能够直接操作底层操作系统的属性,进行设置。这里的系统属性,指的是Java运行环境变量。
在JDK与JRE在操作系统上进行安装的时候,已经对系统的各种环境信息进行辨析并记录在专门的文件里面。
虽然说Java是与平台无关的语言,但是在一些特殊操作中,还是需要对当前进行运行的平台进行判断和分析,所以这方面的操作需要了解一些。
在Java中,系统属性起到替代环境变量的作用,或者说,系统属性就是Java的环境变量,它是又一种将运行时Java程序的相关信息参数化的机制。
具体的说,系统属性是一种“键--值”对,包括属性名、属性值及其映射关系,属性名和属性值均为String类型。环境变量(Path/CLASSPATH)也属于类似的情形,但它们是平台相关的。
常规的系统属性如下(属性名--对应属性值描述):
java.version JRE版本
java.vendor JRE提供商
java.vendor.url Java提供商网址URL
java.home JDK安装路径
java.vm.specification.version JVM标准的版本
java.vm.specification.vendor JVM标准的提供商
java.vm.specification.name JVM标准的名称
java.vm.version JVM的版本
java.vm.vendor JVM的提供商
java.vm.name JVM的名称
java.specification.version JRE标准的版本
java.specification.vendor JRE标准的提供商
java.specification.name JRE 标准的名称
java.class.version Java类格式版本号
java.class.path Java类资源存储路径
java.ext.dirs 扩展路径
os.name 操作系统名称
os.arch 操作系统结构
os.version 操作系统版本
file.separator 文件分隔符("/" on UNIX)
path.separator 路径分隔符(":" on UNIX)
line.separator 换行符("\n" on UNIX)
user.name 用户名
user.home 用户home路径
user.dir 用户当前工作路径
除了这些内置的系统属性外,还可以通过在命令行中运行Java应用的时候,利用java 命令的-D 参数来加入一个自定义的系统属性:
java –D<name>=<value>
在Java中,有一个类专门用于处理属性:Properties。Properties类实现了从名字到值的映射。Properties类在java.util包中,这个类被用于以集合方式表述系统属性。
常用方法
public Enumeration propertyNames()
功能:可以返回以Enumeration类型表示的所有可用系统属性属性名
public String getProperty(String key)()
功能:获得特定系统属性的属性值
public Object setProperty(String key,String value)
功能:设置(添加)单个系统属性信息
public void load(InputStream inStream)
功能:可以实现从文件中读取属性信息
public void store(OutputStream out,String header)
功能:可以实现将系统属性信息写入文件
System类中和属性相关的功能
java.lang.System类中提供了和系统相关的功能,其中包括Properties:可以通过它的方法获得表示系统属性的Properties对象;通过指定的属性键返回对应属性值等。
常用方法
public static Properties getProperties()
功能:获得一个 Properties类的对象,其中包含了所有可用的系统属性信息
public static String getProperty(String key)
功能:获得特定系统属性的属性值
public static void setProperties(Properties props)
功能:设置系统属性信息
public static String setProperty(String key,String value)
功能:设置(添加)单个系统属性信息
下面我们来看一个系统属性的例子。
import java.util.Properties;
import java.util.Enumeration;
public class TestProperties {
public static void main(String[] args) {
Properties props = System.getProperties();
Enumeration prop_names = props.propertyNames();
while (prop_names.hasMoreElements()) {
String prop_name = (String) prop_names.nextElement();
String property = props.getProperty(prop_name);
System.out.println("property '" + prop_name + "' is '" + property
+ "'");
}
}
}
编译这个程序,用下列命令来运行这个程序:
java –Dtest=hello TestProperties
这个程序将会向控制台输出所有的系统属性,注意在这些属性中,有一个属性“test”,这个属性就是我们在执行这个应用程序的时候通过“-D”参数加入的一个属性。
在这里Properties的propertyNames()方法返回的是一个Enumeration对象,它是一个集合(Collection)类,在后面的内容中,将详细讨论这个类。
另外,除了默认的系统属性外,我们在编写应用软件时候,还可以把与应用相关的一些属性内容,写在专门的属性文件中,供应用程序进行读取使用,方便以后软件的运行维护,统一管理。
我们来看一个属性文件的例子:
FileName = c:/test/MyFile.txt
VirtualPath = myApp/
在这个属性文件中,设置了两个属性:“FileName”和“VritualPath”以及它们的相应的值。
在属性文件中设定属性后,可以在Java应用中使用类Properties的方法getProperty()读取这些设置在属性文件中的属性。
下面是一个保存了属性的文本文件,它用于保存连接数据库的一些属性配置:
oracle_url = jdbc:oracle:thin:@localhost:1521:O920
oracle_name = O920
oracle_user = scott
oracle_pwd = tiger
file_path = c:\\cctvfiles\\
virtual_path = examples/
这是一个属性文件的文件内容,其中定义了6个属性以及对应的属性值,它们以“名=值”的名值对形式存在,每行表示一个属性。
import java.util.*;
import java.io.*;
public class ReadPro {
private String oracle_url, oracle_name, oracle_user, oracle_pwd;
private String file_path, virtual_path;
public ReadPro() {
try {
Properties props = new Properties();
File f = new File("C:\\OracleSetup.properties");
FileInputStream in = new FileInputStream(f);
props.load(in);
in.close();
oracle_url = props.getProperty("oracle_url");
oracle_name = props.getProperty("oracle_name");
oracle_user = props.getProperty("oracle_user");
oracle_pwd = props.getProperty("oracle_pwd");
file_path = props.getProperty("file_path");
virtual_path = props.getProperty("virtual_path");
} catch (IOException e) {
System.out.println(e);
}
}
public String getOracle_url() {
return oracle_url;
}
public String getOracle_name() {
return oracle_name;
}
public String getOracle_user() {
return oracle_user;
}
public String getOracle_pwd() {
return oracle_pwd;
}
public String getFile_path() {
return file_path;
}
public String getVirtual_path() {
return virtual_path;
}
public static void main(String args[]) {
ReadPro rp = new ReadPro();
System.out.println(rp.getOracle_user());
}
}
这个程序用于从属性文件中读取设置好的属性,这边用到了Properties类的load()方法,这个方法将指定的属性文件流装载到内存中来对它进行处理。通过Properties的getProperty()方法来读取指定名称的属性对应的值。
相关推荐
本知识点将详细讲解标题为"BAT批处理脚本-系统设置查询修改硬件相关-打开系统属性.cmd.zip"的压缩包内容,以及如何利用批处理脚本来操作和查询系统属性。 首先,我们要了解什么是BAT批处理脚本。BAT是Microsoft ...
这个属性指定了Namenode的RPC服务地址,即HDFS的主节点,用于处理客户端的文件系统操作请求。这个属性的值通常包含主机名或IP地址以及端口号。例如,在高可用性(HA)或联邦(Federation)配置中,可能需要通过指定...
### Windows操作系统中的系统属性 #### 概述 在Windows操作系统中,系统属性是关于系统配置的一系列关键信息,包括但不限于操作系统版本、硬件架构等。这些属性对于开发人员来说非常重要,因为它们可以帮助理解...
- `attrib +s 文件名`: 添加系统属性。 - `attrib -s 文件名`: 移除系统属性。 - `attrib +a 文件名`: 添加存档属性。 - `attrib -a 文件名`: 移除存档属性。 如果"修改文件属性.bat"批处理文件包含上述命令,用户...
然而,修改系统属性的操作则需要通过向init进程发送请求,通常涉及到发送特定的广播消息或者使用Service Manager来请求权限。 4. 属性服务的结构组成: Android属性系统的内部结构是由几个关键的数据结构组成的,...
系统属性信息修改器是一款工具软件,主要用于调整和定制计算机的操作系统属性。在Windows操作系统中,系统属性通常包含关于计算机的基本信息,如操作系统版本、处理器类型、内存大小、系统安装日期等。这款修改器...
该数据集采用的是WGS84(World Geodetic System 1984)坐标系统,这是一种全球广泛使用的地球参考框架,适用于全球定位系统(GPS)和其他卫星导航系统。本篇文章将深入探讨这个数据集的特点、用途以及如何在ArcGIS...
在Java编程中,获取系统属性是一项重要的任务,它允许开发者获取关于操作系统、JVM以及用户环境的详细信息。Java提供了一个名为`Properties`的类,它继承自`Dictionary`,进一步扩展了`Hashtable`,用于处理键值对,...
系统属性是指与用户程序相关的操作系统配置信息以及软件信息。通常与用户程序相关的属性关键字包括: ●file.separator:文件分隔符,Windows环境下为“",Unix环境下为“/”; ●user.home:用户主目录; ...
总的来说,这个工具提供了一种对Windows XP系统属性进行定制的方法,但它仅适用于特定的操作系统,并且在使用时需谨慎,避免对系统造成损害。对于初级用户而言,更建议他们使用官方提供的系统设置或寻求专业帮助,而...
标题中的“县WGS84.zip”表明这是一个包含中国县级行政区域地图数据的压缩文件,采用了WGS84(World Geodetic System 1984)地理坐标系统。WGS84是一种全球广泛使用的大地坐标系统,适用于GPS定位和其他全球导航应用...
修改文件系统属性和隐藏属性 @echo off title 修改文件系统属性和隐藏属性工具 color f0 mode con: cols=41 lines=25 :start cls ECHO ================================ ECHO 请选择要进行的操作,然后按...
"获取XP操作系统的属性页"这一任务可能是指创建一个应用程序,该应用能够模拟或者显示与右键点击"我的电脑"后选择"属性"时出现的系统属性对话框相同的信息。这个过程涉及到调用Windows API函数,如`GetSystemMetrics...
4. 系统兼容性:并非所有系统都支持修改文件时间属性,尤其是跨平台操作时,要注意不同操作系统之间的差异。 在实际应用中,文件时间属性修改器可以用于多种场景。例如,开发者可能需要调整时间戳以模拟不同的测试...
- 系统属性:标记系统关键文件,避免误操作导致系统故障。 - 存档属性:用于备份目的,表明文件不是经常更新的系统文件。 4. 使用命令行修改文件属性 在Windows的命令提示符中,可以使用`attrib`命令来批量修改...
本文档旨在为用户提供WMS系统的操作手册,涵盖了系统登录、查询、修改密码、窗口操作、修改界面最大显示记录数、基础信息设置、货主信息、商品信息、货位信息、批属性信息、图书规格信息、上架策略维护等多方面的...
2.操作按钮 3.角色管理 4.部门管理 5.用户管理(用户权限) 6.用户组管理(设置成员,用户组权限) 7.系统配置(动态配置系统参数) 8.附加属性(自定义属性) 9.系统日志(异常记录) 10.数据库备份/还原 11.资源...
用户进入系统主界面,其包括系统的各种操作,像文件操作,目录操作,帮助等操作。 文件操作包括:文件的录入,查询,打开,删除.文件属性的修改等。 系统采用自动加入技术,用户只需取得文件所在的位置,系统将自动...
1. 在桌面上“我的电脑或计算机”图标上单击鼠标右键,在弹出的菜单中选择“属性”,弹出“系统属性”窗口,我们可以看到计算机的CPU型号与内存的容量。 2. 在“系统属性”窗口中,打开“设备管理器”,在弹出的...
### 如何手动修改XP系统属性信息 #### 一、修改“制造商与技术支持商” 在Windows XP系统中,可以通过编辑特定的INI文件来修改系统属性中的“制造商”与“技术支持商”信息。具体步骤如下: 1. **打开OEM信息文件...