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;
}
}