1.在程序中一般把读取配置文件的累写为一个工具类,供复用
package com.sinohonour.ciprobe.dp.utils;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;
import java.util.Properties;
public class PropUtil {
/**
* @author Liliang Zuo
* @date : 2017年10月16日 上午10:07:11
*/
private static Properties prop = null;
private PropUtil() {}
static{
try {
prop = new Properties();
prop.load(new FileInputStream(PropUtil.class.getClassLoader().getResource("processor.properties").getPath()));
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 获取properties对象
*
* @author Liliang Zuo
* @data 2017年10月16日
* @return 返回properties对象
*/
public static Properties getProperty(){
return prop;
}
/**
* 获取properties对象中key对应的value值
*
* @author Liliang Zuo
* @data 2017年10月16日
* @param str 传入的key
* @return 返回key对应的value
*/
public static String getProperty(String str){
return prop.getProperty(str);
}
}
2.如上工具类中使用的读取properties文件的方法,如果你只本工程中使用,可以找到配置文件(配置文件放在src目录下,如下图),但是如果打包给别的程序使用,会找不到你的配置文件;
3.要想打包后给别的程序使用,你需要根据下图编写读取配置文件代码:
InputStream in = getClass().getResourceAsStream('/'+"spring-beans.dtd"); 表示从classs目录下面的找文件,文件放在src下面就可以了.
InputStream in = getClass().getResourceAsStream("spring-beans.dtd"); 表示从当前classs下面的路径找文件如果是在com.a.b.c.d.Test这个class就表示spring-beans.dtd要放在目录src\com\a\b\c\d下.
Properties prop = new Properties();
prop.load(this.getClass().getResourceAsStream("/db.properties"));
prop.getProperty("nThreads")