您的位置:首页 > 编程语言 > Java开发

Java_getProperties以记之

2015-07-21 10:20 447 查看
/**
* 获取配置文件行值key value对
* @param address
*         配置文件路径
* @return
*         配置文件中所有键值对
* @throws IOException
*/
private List<String[]> getProperties(String address) throws IOException {
//获取输入流
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(address);
//读取字符串
BufferedReader in = new BufferedReader(new InputStreamReader(inputStream));
//接收键值对数组
List<String[]> liStr=new ArrayList<String[]>();
//接收输入流行字符串
String line = "";
try{
//读取每行数据,直到行为null
while ((line = in.readLine()) != null){
//分割字符串 留下key value
String[] lineArray=line.split("=");
//去除key值无用空格
lineArray[0]=lineArray[0].trim();
//去除value值无用空格
lineArray[1]=lineArray[1].trim();
//放进list
liStr.add(lineArray);
}
}catch (IOException ioE){
//捕获IO异常
ioE.printStackTrace();
}finally{
//关闭输入流
inputStream.close();
}
//返回结果
return liStr;
}


  以上,就是留着读Properties.为啥会有这样的需求捏?

  正常读的话,应该是由key获取value吧.像这样?↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

/**
* 获取配置文件单独key值内容
* @param address
*         配置文件路径
* @param key
*         需要获取内容的key值
* @return
*         所需key值得value
* @throws IOException
*/
private String getProperties(String address,String key) throws IOException {
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream(address);
Properties properties = new Properties();
try{
properties.load(inputStream);
}catch (IOException ioE){
ioE.printStackTrace();
}finally{
inputStream.close();
}
return properties.getProperty(key);
}


  这样比较快吧.哇哈哈.

  ZhLingF W  ← It's also my name
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: