All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.qihootest.leo.toolkit.util.PropUtil Maven / Gradle / Ivy

package com.github.qihootest.leo.toolkit.util;

import java.io.IOException;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import java.util.Properties;
import java.util.TreeMap;


/**
 * Properties配置文件相关处理
 * @author lianghui ([email protected])
 *
 */
public class PropUtil {
	private static LogUtil log= LogUtil.getLogger(PropUtil.class);

	/**
	 * 获取指定位置的property文件中property文件信息
	 * @param fullFilePath property文件的全路径信息
	 * @return Properties 属性文件的信息
	 * */
	public static Properties getPropertyInfo(String fullFilePath){
		Properties properties=new Properties();
		try {
			properties.load(FileUtil.readToFileInputStream(fullFilePath));
		} catch (IOException e) {
			properties=null;
			log.error(e.getMessage());
		}
		return properties;
	}
	
	/**获得properties文件里面指定属性名字的属性值,如果不存在该属性或者该属性的值为"",抛出异常
	 * @param properties 给定的properties文件
	 * @param propertiesName 属性名字
	 * @return String 属性值
	 *  */
	public static String getValue(Properties properties,String propertiesName){
		String value=properties.getProperty(propertiesName);
		if(value==null||"".equalsIgnoreCase(value)){
			log.error("获取的属性值不存在或者为空串!");
		}return value;
	}
	/**获得properties文件里面指定属性名字的属性值,如果不存在该属性或者该属性的值为"",返回默认值
	 * @param properties 给定的properties文件
	 * @param propertiesName 属性名字
	 * @param defaultValue 在属性值不存在或者为""的时候的返回的默认值
	 * @return String 属性值
	 *  */
	public static String getValue(Properties properties,String propertiesName,String defaultValue){
		String value=properties.getProperty(propertiesName);
		if(value==null||"".equalsIgnoreCase(value)){
			return defaultValue;
		}return value;
	}
	/**通常在一个properties文件里面一个属性会有很多值,他们之间用','隔开,那么这个方法的作用就是获得所有的值
* 属性值为""的不加入返回的列表,如果属性值不存在或者所有的值都为"",抛出异常 * @param properties 给定的properties文件 * @param propertiesName 属性名字 * @return List 属性值列表*/ public static List getValueList(Properties properties,String propertiesName){ ArrayListvaluesList; String values=getValue(properties, propertiesName); valuesList=new ArrayList(values.length()); String[]propertieValues=values.split(","); for(String value:propertieValues){ if(value.trim().equalsIgnoreCase("")) continue; valuesList.add(value.trim()); } if(valuesList.isEmpty()){ log.error("获取的属性列表所有的属性都为空串!"); }return valuesList; } /** * 从配置文件中读取所有信息到map表中 * @param properties * @return Map */ public static Map getAllInfoToMap(Properties properties) { Map map=new TreeMap(); try { Iterator> it=properties.entrySet().iterator(); while(it.hasNext()){ Map.Entry entry=(Map.Entry)it.next(); String key = entry.getKey().toString(); String value = entry.getValue().toString(); map.put(key, value); } } catch (Exception e) { log.error(e.getMessage()); } return map; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy