重点:看findFile方法,代码中main方法只是为了测试使用
本代码仿照jfinal书写,几乎没有增加自己的内容,可用来自己加载文件使用
配置文件名为:test.properties;
配置文件内容为:test=123
输出结果为:123
注意配置文件放的位置:resources下
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.util.Properties;
public class FindProperties {
public static void main(String[] args) {
FindProperties file = new FindProperties();
Properties filePro = file.findFile("test.properties", "utf-8");
String test = filePro.getProperty("test");
System.out.println(test);
}
/**
* 加载配置文件
* @param fileName
* @param encoding
*/
private Properties findFile(String fileName, String encoding) {
Properties prop = null;
InputStream in = null;
try {
ClassLoader ret = Thread.currentThread().getContextClassLoader();
ret = ( ret != null ? ret : getClass().getClassLoader());
in = ret.getResourceAsStream(fileName);
if(in == null){
throw new IllegalArgumentException("配置文件不存在:"+fileName);//非法参数异常
}
prop = new Properties();
prop.load(new InputStreamReader(in,encoding));
return prop;
}catch (IOException e){
throw new RuntimeException("错误的加载文件",e);
}finally {
if(in != null){
try {
in.close();
} catch (IOException e) {
//日志记录关闭异常,此处使用输出代表
System.out.println("关闭输入流异常:"+e.getMessage());
}
}
}
}
}