Properties文件的XML格式

转载自 Properties文件的XML格式

想必大家都用过*.properties文件,作为配置文件。但是,如果该文件写入了中文,待编译后内容就会成为乱码,使用native命令也好、使用ant执行编码转换也好,多少有点麻烦,与其如此,我们不如直接使用properties的xml格式。 

<?xml version="1.0" encoding="UTF-8"?>  
<!DOCTYPE properties SYSTEM "http://java.sun.com/dtd/properties.dtd">  
<properties>  
    <comment>系统配置</comment>  
    <entry  
        key="logo.location"><![CDATA[/image/logo/]]></entry>  
    <entry  
        key="mail.host"><![CDATA[webmaster@zlex.org]]></entry>  
    <entry  
        key="site.name"><![CDATA[zlex中文网站]]></entry>  
    <entry  
        key="welcome"><![CDATA[欢迎您,{0}!]]></entry>  
</properties>  

对应原有的properties文件 

#系统配置  
logo.location=/image/logo/  
mail.host=webmaster@zlex.org  
site.name=zlex中文网站  
welcome=欢迎您,{0}!  

这里需要替换{0},可以使用MessageFormat,参考如下代码: 

private FileInputStream fis;  
  
    @Before  
    public void init() {  
        try {  
            fis = new FileInputStream(new File("config.xml"));  
        } catch (Exception e) {  
            e.printStackTrace();  
            fail(e.getMessage());  
        }  
    }  
  
    @Test  
    public void t() {  
        Properties properties = new Properties();  
        try {  
            properties.loadFromXML(fis);  
            System.err.println(MessageFormat.format(  
                    (String) properties.get("welcome"), "snowolf"));  
        } catch (Exception e) {  
            e.printStackTrace();  
            fail(e.getMessage());  
        }  
    }  

得到控制台输出: 

欢迎您,snowolf!


因为使用XML格式,不受系统编译影响,不存在中文问题!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值