package com.vingsoft.util;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Properties;
/**
 * 加载properties配置文件工具类
 *
 */
public class PropertiesUtil {
	
	/**
	 * 根据properties文件名和key值获取value
	 * @param fileName
	 * @param key
	 * @return
	 */
	public static String getPropertiesValue(String fileName,String key){
		Properties p = new Properties();
		String value = null;
		try {
			InputStream in = PropertiesUtil.class.getResourceAsStream(fileName);
			p.load(in);
			in.close();
			
			if(p.containsKey(key)){
				value = p.getProperty(key);
			}
		} catch (Exception e) {
			System.out.println("根据properties文件名和key值获取value:失败");
			e.printStackTrace();
		}
		return value;
	}
	
	/**
	 * 根据properties文件名和key值获取value(读取中文)
	 * @param fileName
	 * @param key
	 * @return
	 */
	public static String getPropertiesValue2(String fileName,String key){
		Properties p = new Properties();
		String value = null;
		try {
			InputStreamReader in = new InputStreamReader(PropertiesUtil.class.getResourceAsStream(fileName), "GBK");
			p.load(in);
			in.close();
			
			if(p.containsKey(key)){
				value = p.getProperty(key);
			}
		} catch (Exception e) {
			System.out.println("根据properties文件名和key值获取value:失败");
			e.printStackTrace();
		}
		return value;
	}
	
	public static void main(String[] args) {
		//配置文件相对src目录的路径
		String propertiesName="/resources/datasource.properties";
		//根据properties文件中的键获取对应的值
		String ip=PropertiesUtil.getPropertiesValue(propertiesName, "isflag");
		System.out.println(ip);
	}
}
原文:https://www.cnblogs.com/ajing1111/p/12214506.html