Properties介绍
Properties类是JDK1.0中引入的java类,Properties继承至Hashtable,主要作用就是用来封装配置文件,将配置文件加载成为一个Properties对象。
注意:Properties类一般用来加载 .properties配置文件
Properties特性:
- Properties支持文本方式和xml方式的数据存储。在文本方式中,参数与值以键值对的形式出现,其中分隔符可以是:冒号(:)、等号(=)、空格。其中空格可以作为key的结束,同时获取的值回将分割符号两端的空格去掉。所以Properties类本质上就是一个Map的实现类,其中参数名称是key,参数值是value。Map接口中定义的方法可以在Properties实例对象上调用。
- key、value不可以是null
- 在properties文件中,可以用井号"#"来作注释。
Properties的常用方法
-
setProperty(String key,String value)
向Properties对象中添加参数和值 -
getProperty(String key)
获取指定参数值 -
load(InputStream in)
以字节输入流加载配置文件到对象中 -
load(Reader in)
以字符输入流加载配置文件到对象中 -
store(OutputStream out,String comments)
以字节输出流将对象中的内容输出到配置文件中 -
store(Writer out, String comments)
以字符输出流将对象中的内容输出到配置文件中 -
loadFromXML(InputStream in)
将指定输入流中由 XML 文档所表示的所有属性加载到此属性表中。 -
storeToXML(OutputStream os, String comment)
发出一个表示此表中包含的所有属性的 XML 文档。
Properties实例
//从配置文件中获取信息
public class Test {
public static void main(String[] args) {
InputStream ins = null;
{
try {
ins = new FileInputStream("D:\\桌面\\add.properties");
} catch (FileNotFoundException e) {
throw new RuntimeException(e);
}
}
Properties pro = new Properties();
try {
pro.load(ins);
} catch (IOException e) {
throw new RuntimeException(e);
}
String name = pro.getProperty("name");
String age =pro.getProperty("age");
System.out.println("name="name);
System.out.println("age="age);
finally{
try {
ins.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
}
运行结果如下: