遍历Propertie属性文件所有内容
来源:互联网 发布:spss 01数据转换格式 编辑:程序博客网 时间:2024/04/29 17:51
package test;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStream;import java.io.InputStreamReader;import java.util.HashMap;import java.util.Iterator;import java.util.LinkedHashMap;import java.util.Map;import java.util.Properties;import java.util.Set;public class TestProperties {/*得到一个src根目录下的属性文件*/public InputStream in = getClass().getResourceAsStream("/dayReportLable.properties");/**获取属性文件键值对内容(无序) * @param in InputStream * @return Map<String, String> * @throws IOException */@SuppressWarnings({ "unchecked", "unchecked" })public static Map<String, String> getColumnList1(InputStream in)throws IOException{Map<String, String> map = new HashMap<String, String>();Properties prop = new Properties();prop.load(in);Set keyValue = prop.keySet();for (Iterator it = keyValue.iterator(); it.hasNext();) {String key = (String) it.next();String value = prop.getProperty(key);map.put(key, value);}return map;}/**获取属性文件键值对内容(有序) * @param in InputStream * @return LinkedHashMap<String, String> * @throws IOException */public LinkedHashMap<String, String> getColumnList2(InputStream in)throws IOException{LinkedHashMap<String, String> linkMap = new LinkedHashMap<String, String>();BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(in,"UTF-8"));for (String line = bufferedReader.readLine(); line != null; line = bufferedReader.readLine()) { line = line.trim(); //#开头表示注释 if (line.length() == 0 || line.startsWith("#")) { continue; } int pos = line.indexOf('='); if (pos == -1) { throw new IllegalArgumentException("invalid line:" + line); } String key = line.substring(0, pos); String value = line.substring(pos + 1); if(key==null||value==null) continue; key = key.trim(); value = value.trim(); if(key.length()<=0||value.length()<=0)continue; linkMap.put(key,value); }return linkMap;}}