`
liyanboss
  • 浏览: 140155 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

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

阅读更多
在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));
		}
	}
}




分享到:
评论
3 楼 accphc 2015-03-31  
2 楼 liyanboss 2008-06-13  
呵呵,是要用CDATA啦,不是CDDTA了。 <![CDATA[]]>
1 楼 spiritfrog 2008-06-12  
嗯嗯, xml是要清楚多了。
但是< >需要放在CDDTA里面的,同样也要要注意的字符。

相关推荐

Global site tag (gtag.js) - Google Analytics