property在Java中的用法

如题所述

JDK 中的 Properties 类 Properties 类存在于胞 Java.util 中,该类继承自 Hashtable ,它提供了几个主要的方法:
1. getProperty ( String key) , 用指定的键在此属性列表中搜索属性。也就是通过参数 key ,得到 key 所对应的 value。
2. load ( InputStream inStream) ,从输入流中读取属性列表(键和元素对)。通过对指定的文件(比如说上面的 test.properties 文件)进行装载来获取该文件中的所有键 - 值对。以供 getProperty ( String key) 来搜索。
3. setProperty ( String key, String value) ,调用 Hashtable 的方法 put 。他通过调用基类的put方法来设置 键 - 值对。
4. store ( OutputStream out, String comments) , 以适合使用 load 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。与 load 方法相反,该方法将键 - 值对写入到指定的文件中去。
5. clear () ,清除所有装载的 键 - 值对。该方法在基类中提供。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-11-30

 在项目中经常用到各种配置文件,有.properties的,也有.xml格式的

都可以通过java.utils.Property类进行处理。

1. 读取.properties文件

File pFile = new File("test.properties");
FileInputStream   pInStream=null;
try {
pInStream = new FileInputStream(pFile );
} catch (FileNotFoundException e) {
e.printStackTrace(); 
}
Properties p = new Properties();
try {
p.load(pInStream );  
} catch (IOException e) {
e.printStackTrace(); 
}
Enumeration enu = p.propertyNames();  //取出所有的key
p.list(System.out) ;
while(enu.hasMoreElements())
{
String thisKey = (String)enu.nextElement();
System.out.println("key="+thisKey);
System.out.println("value="+p.getProperty(thisKey));
}

.properties测试文件内容如下:

    name = tinyfun
    age = 25
    sex = man
    title = software developer

    2. 读取XML文件

               File pFile = new File("test.xml");
FileInputStream pInStream = null;
try {
pInStream = new FileInputStream(pFile);
Properties p = new Properties();
p.loadFromXML(pInStream);
p.list(System.out);

} catch (IOException e) {
e.printStackTrace();
}

xml文件如下:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">
<properties>
<comment>test</comment>
<entry key="age">25</entry>
<entry key="name">tinyfun</entry>
<entry key="sex">man</entry>
<entry key="title">software developer</entry>
</properties>

3. 写入XML文件

                Properties p = new Properties();
p.setProperty("name","tinyfun");
p.setProperty("age","25");
p.setProperty("sex","man");
p.setProperty("title","software developer");
try{
PrintStream fW = new PrintStream(new File("test.xml"));
p.storeToXML(fW,"test");
} catch (IOException e) {
e.printStackTrace();
}

4. 写入.properties文件

                Properties p = new Properties();
p.setProperty("name","tinyfun");
p.setProperty("age","25");
p.setProperty("sex","man");
p.setProperty("title","software developer");
try{
PrintStream fW = new PrintStream(new File("test.properties"));
p.list(fW );        } 
catch (IOException e) {
e.printStackTrace();
}

http://blog.csdn.net/hopestar2/article/details/6372883

相似回答