package com.eelly.imagesearch.common;

import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.Iterator;
import java.util.Properties;
import java.util.Set;

public class ReadConfigFile {
	
	/**
	 * 获取配置文件(src目录下)里指定配置项的值
	 * @param fileName 要读取的配置文件名
	 * @param id 要读取的配置项id
	 * @return
	 */
	public String readPropertiesFile(String fileName, String id)
	{
		Properties prop = new Properties();
		InputStream stream = null;
		String configVal = "";
		String path = getClass().getResource("/").getPath();
		
		try {
			stream = new BufferedInputStream(new FileInputStream(new File(path+fileName)));
			prop.load(stream);
			Set config_info = prop.keySet();
			Iterator it = config_info.iterator();
			while(it.hasNext()){
				/*String id = (String)it.next();
				String value = p.getProperty(id);
				System.out.println(id+":="+value);*/
				if (id.equals(it.next()))
				{
					configVal = prop.getProperty(id);
					break;
				}
			}
		}catch(Exception e){
			e.printStackTrace();
		}
		return configVal;
	}
}

备注:

1.上面的配置文件是放在src目录下,还可以放置在其他目录下(需要同步调整path变量的值)

2.上面的代码主要是依据id读取对应的值,也可以考虑在id为空时,将整个配置文件读到一个map数组里