属性类:Properties
本章目标
掌握Properties类的使用
可以向普通及XML格式的文件中保存及读取属性
Properties类简介
Properties类是一个专门操作属性的类
此类是Hastable的子类
所有的属性内容都是以字符串的形式保存的
Properties类定义:
——public class Properties extends Hashtable<Object,Object>
Properties类的主要方法
实例操作一:设置和取得属性
import java.util.Properties;
public class PropertiesDemo01 {
public static void main(String[] args) {
Properties pro = new Properties();//创建 Properties 对象
pro.setProperty("BJ", "BeiJing");//增加内容
pro.setProperty("TJ", "TianJin");//增加内容
pro.setProperty("NJ", "Nanjing");//增加内容
System.out.println("1、BJ属性存在:"+pro.getProperty("BJ"));
System.out.println("2、SC属性不存在:"+pro.getProperty("SC"));
System.out.println("3、SC属性不存在,同时设置显示的默认值:"+pro.getProperty("SC","没有发现"));
}
/* 结果:
* 1、BJ属性存在:BeiJing
* 2、SC属性不存在:null
* 3、SC属性不存在,同时设置显示的默认值:没有发现
* */
}
实例操作二:将属性保存在普通文件之中
import java.io.File;
import java.io.FileOutputStream;
import java.util.Properties;
public class PropertiesDemo02 {
public static void main(String[] args) {
Properties pro = new Properties();//创建 Properties 对象
pro.setProperty("BJ", "BeiJing");//增加内容
pro.setProperty("TJ", "TianJin");//增加内容
pro.setProperty("NJ", "Nanjing");//增加内容
//设置属性文件的保存路径
File file = new File("D:"+File.separator+"area.properties");
try{
//保存属性到普通文件中,并设置注释内容
pro.store(new FileOutputStream(file), "Area Info");
}catch(Exception e){
e.printStackTrace();
}
}
/* 结果:
* #Area Info
* #Sun Jun 29 18:46:38 CST 2014
* BJ=BeiJing
* NJ=Nanjing
* TJ=TianJin
* */
}
实例操作三:从普通文件之中读取属性内容
import java.io.File;
import java.io.FileInputStream;
import java.util.Properties;
public class PropertiesDemo03 {
public static void main(String[] args) {
Properties pro = new Properties();//创建 Properties 对象
//设置属性文件的保存路径
File file = new File("D:"+File.separator+"area.properties");
try{
pro.load(new FileInputStream(file));//读取属性文件
}catch(Exception e){
e.printStackTrace();
}
System.out.println("BJ 属性存在,内容是:"+pro.getProperty("BJ"));
}
/* 结果:
* BJ 属性存在,内容是:BeiJing
* */
}
实例操作四:将属性保存在XML文件之中
import java.io.File;
import java.io.FileOutputStream;
import java.util.Properties;
public class PropertiesDemo04 {
public static void main(String[] args) {
Properties pro = new Properties();//创建 Properties 对象
pro.setProperty("BJ", "BeiJing");//增加内容
pro.setProperty("TJ", "TianJin");//增加内容
pro.setProperty("NJ", "Nanjing");//增加内容
//设置属性文件的保存路径
File file = new File("D:"+File.separator+"area.XML");
try{
//保存属性到 XML 文件
pro.storeToXML(new FileOutputStream(file), "Area Info");
}catch(Exception e){
e.printStackTrace();
}
}
/* 结果:
* <?xml version="1.0" encoding="UTF-8" standalone="no"?>
* <!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
* <properties>
* <comment>Area Info</comment>
* <entry key="BJ">BeiJing</entry>
* <entry key="NJ">Nanjing</entry>
* <entry key="TJ">TianJin</entry>
* </properties>
* */
}
实例操作五:从XML文件之中读取属性
import java.io.File;
import java.io.FileInputStream;
import java.util.Properties;
public class PropertiesDemo05 {
public static void main(String[] args) {
Properties pro = new Properties();//创建 Properties 对象
//设置属性文件的保存路径
File file = new File("D:"+File.separator+"area.XML");
try{
pro.loadFromXML(new FileInputStream(file));//读取XML文件
}catch(Exception e){
e.printStackTrace();
}
System.out.println("BJ 属性存在,内容是:"+pro.getProperty("BJ"));
}
/* 结果:
* BJ 属性存在,内容是:BeiJing
* */
}