论坛首页 Java企业应用论坛

处理properties文件中key包含空格和等号的情况

浏览 8973 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2008-06-12   最后修改:2009-05-18
OO
在properties文件中都是以key=value的方式存储的,在java代码中用java.util.Properties的load方法,存储在一个map中,当key中有空格和等号的时候,要用\(斜杠)进行转义,而用xml的话,就没有转义这么麻烦了,所以推荐使用xml了。

Spike.java
import java.io.IOException;
import java.io.InputStream;
import java.util.Enumeration;
import java.util.Properties;

public class Spike {
	public static void main(String[] args) throws Exception {
		readProperties();
		System.out.println("==================================================");
		readXml();
	}

	private static void readProperties() throws IOException {
		Properties props = new Properties();
		InputStream inStream = Spike.class.getResourceAsStream("Mock.properties");
		props.load(inStream);
		Enumeration enums = props.propertyNames();
		while (enums.hasMoreElements()) {
			String key = (String) enums.nextElement();
			System.out.println("Property--->>>>[" + key + "]    " + "Value--->>>>" + props.getProperty(key));
		}
	}
	
	private static void readXml() throws IOException {
		Properties props = new Properties();
		InputStream inStream = Spike.class.getResourceAsStream("Mock.xml");
		props.loadFromXML(inStream);
        Enumeration enums = props.propertyNames();
		while (enums.hasMoreElements()) {
			String key = (String) enums.nextElement();
			System.out.println("Property--->>>>[" + key + "]    " + "Value--->>>>" + props.getProperty(key));
		}
	}
}




   发表时间:2008-06-12  
嗯嗯, xml是要清楚多了。
但是< >需要放在CDDTA里面的,同样也要要注意的字符。
0 请登录后投票
   发表时间:2008-06-13  
呵呵,是要用CDATA啦,不是CDDTA了。 <![CDATA[]]>
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics