Properties属性持久化

在编写Java程序的时候为了让Java具有更好的可扩展性,我们需要将一些常用的、需要的根据实际情况改变的属性存在文本文件中。JDK5提供了属性持久化支持。
java.util.Properties中提供了对普通文本和xml文件属性的读取方法。在利用Java对属性文件进行读取和更新前我们需要先将文件加入输入输出流中。
1.属性读取:读取普通文本可以使用load(InputStream in)、loadFromXML(InputStream in)方法将输入流内容读入属性列表。然后,通过getProperty(String key)按照指定的键在此属性列表中搜索属性。
2. 属性更新:更新属性列表setProperty(String key,String value),store(OutputStream out,String comments)和storeToXML(OutputStream out,String comments)可以将属性列表写入输出流中。
Properties继承自Hashtable,Properties类的出现简化了对属性持久化的操作。属性持久化又大大简化了建立高扩展性程序的过程。
实例Java代码:
import  java.io.File;
import  java.io.FileInputStream;
import  java.io.FileOutputStream;
import  java.util.Properties;
public   class  testXml 
{
    
public static void main(String[] args) 
    
{
        
try{
            Properties prop
=new Properties();
            File f
=new File("oracle.xml");
            FileInputStream fis
=new FileInputStream(f);
            prop.loadFromXML(fis);
            
//prop.list(System.out);
            System.out.println("oracle_url: "+prop.getProperty("oracle_url")
                
+" "+prop.getProperty("oracle_name")
                
+" "+prop.getProperty("oracle_user")
                
+" "+prop.getProperty("oracle_pwd"));
            FileOutputStream fos
=new FileOutputStream(f);
            prop.setProperty(
"user_name","likui");
            
//向xml文件中插入key、key_value
            prop.storeToXML(fos,"LiKui");
            
//关闭输入、输出流
            fis.close();
            fos.close();
        }
catch(Exception e){
            System.out.println(e);
        }

    }

}
 实例Xml文件:
<? xml version="1.0" encoding="UTF-8" ?>
<! DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd" >
< properties >
< comment > LiKui </ comment >
< entry  key ="oracle_url" > jdbc:oracle:thin:@localhost:1521:nitpro </ entry >
< entry  key ="oracle_user" > scott </ entry >
< entry  key ="oracle_name" > nitpro </ entry >
< entry  key ="oracle_pwd" > tiger </ entry >
< entry  key ="user_name" > likui </ entry >
</ properties >
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值