开发过程中会有需要读取properties文件的时候,( 请注意我创建的java project ) 我写了一个工具类来读取properties文件
其中用到了ClassLoarder 类加载器,ClassLoader主要对类的请求提供服务,当JVM需要某类时,
它根据名称向ClassLoader要求这个类,然后由ClassLoader返回这个类的class对象。想要ClassLoarder
几句话清楚太难了,我们可以简单理解为他可以按照类的全路径加载class对象,或者按照路径
加载properties文件,获取文件的流。
public class PropertiesUtil {
/**
* 获取配置文件内容
*
* @param key properties文件里定义的key
* @throws IOException
* @return
*/
public final static String getProperties(String key) {
Properties p = new Properties();
try {
InputStream in = ClassLoader.class.getResourceAsStream("/properties.properties");
p.load(in);
} catch (IOException e) {
e.printStackTrace();
} finally {
if(in != null){
in.close()
}
}
return p.getProperty(key);
}
}
如果你创建的java web 项目 请使用如下代码:
/**
*
*
* @param key
* @throws IOException
* @return
*/
public final String getProperties(String key) {
Properties p = new Properties();
try {
InputStream in = this.getClass().getClassLoader().getResourceAsStream("props/config.properties");
p.load(in);
} catch (IOException e) {
e.printStackTrace();
}
finally {
if(in != null){
in.close()
}
}
return p.getProperty(key);
}