Properties属性持久化

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类的出现简化了对属性持久化的操作。属性持久化又大大简化了建立高扩展性程序的过程。
 1 import java.io.File;
 2 import java.io.FileInputStream;
 3 import java.io.FileOutputStream;
 4 import java.util.Properties;
 5 public  class testXml 
 6 {
 7    public static void main(String[] args) 
 8    {
 9        try{
10            Properties prop=new Properties();
11            File f=new File("oracle.xml");
12            FileInputStream fis=new FileInputStream(f);
13            prop.loadFromXML(fis);
14            //prop.list(System.out);
15            System.out.println("oracle_url: "+prop.getProperty("oracle_url")
16                +" "+prop.getProperty("oracle_name")
17                +" "+prop.getProperty("oracle_user")
18                +" "+prop.getProperty("oracle_pwd"));
19            FileOutputStream fos=new FileOutputStream(f);
20            prop.setProperty("user_name","likui");
21            //向xml文件中插入key、key_value
22            prop.storeToXML(fos,"LiKui");
23            //关闭输入、输出流
24            fis.close();
25            fos.close();
26        }
catch(Exception e){
27            System.out.println(e);
28        }

29    }

30}
实例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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值