动态读取配置文件 config
2016-03-07 15:41
260 查看
动态读取config配置文件, 否则配置文件修改之后不能读取更新部分报错,
try {
InputStream in =new FileInputStream("ip.config");//这里配置文件地址写成全路径就会报错,应该只写文件名
p.load(in);
in.close();
if(p.containsKey("fuck")){
this.url = p.getProperty("fuck");
c = this.url.split(",");
}
} catch (IOException ex) {
ex.printStackTrace();
}
return c;
InputStream stream=Thread.currentThread().getClass().getResourceAsStream("/config.properties");
但不能这样写:
InputStream stream = Thread.currentThread().getClass().getClassLoader().getResourceAsStream("config.properties");
但可以这样写:
InputStream stream = this.getClass().getClassLoader().getResourceAsStream("config.properties");
InputStream stream = new FileInputStream("/config.properties"); //相对于项目web-inf/classes目录
为什么 我就不再解释了吧。
如果是在web项目中,我们还可以这样写:
InputStream stream = Thread.currentThread().getContextClassLoader().getResourceAsStream("config.properties");
不过servlet已经帮我们封装了,我们一般这样写:
ServletContext.getRealPath("/") 这里的斜杠是相对与项目部署后的WebRoot为根目录。
va里加载Properties文件都是通过Java.util包里的Properties类的load()方法来加载一个Properties配置文件,load()方法需要接收一个文件输入流,而InputStream的构建需要Java.io.File对象,即new FileInputStream(new File(path));现在问题就集中在如何动态获取
ava里加载Properties文件都是通过Java.util包里的Properties类的load()方法来加载一个Properties配置文件,load()方法需要接收一个文件输入流,而InputStream的构建需要Java.io.File对象,即new FileInputStream(new File(path));现在问题就集中在如何动态获取这个路径。
try {
InputStream in =new FileInputStream("ip.config");//这里配置文件地址写成全路径就会报错,应该只写文件名
p.load(in);
in.close();
if(p.containsKey("fuck")){
this.url = p.getProperty("fuck");
c = this.url.split(",");
}
} catch (IOException ex) {
ex.printStackTrace();
}
return c;
InputStream stream=Thread.currentThread().getClass().getResourceAsStream("/config.properties");
但不能这样写:
InputStream stream = Thread.currentThread().getClass().getClassLoader().getResourceAsStream("config.properties");
但可以这样写:
InputStream stream = this.getClass().getClassLoader().getResourceAsStream("config.properties");
InputStream stream = new FileInputStream("/config.properties"); //相对于项目web-inf/classes目录
为什么 我就不再解释了吧。
如果是在web项目中,我们还可以这样写:
InputStream stream = Thread.currentThread().getContextClassLoader().getResourceAsStream("config.properties");
不过servlet已经帮我们封装了,我们一般这样写:
ServletContext.getRealPath("/") 这里的斜杠是相对与项目部署后的WebRoot为根目录。
va里加载Properties文件都是通过Java.util包里的Properties类的load()方法来加载一个Properties配置文件,load()方法需要接收一个文件输入流,而InputStream的构建需要Java.io.File对象,即new FileInputStream(new File(path));现在问题就集中在如何动态获取
ava里加载Properties文件都是通过Java.util包里的Properties类的load()方法来加载一个Properties配置文件,load()方法需要接收一个文件输入流,而InputStream的构建需要Java.io.File对象,即new FileInputStream(new File(path));现在问题就集中在如何动态获取这个路径。
相关文章推荐
- 一些关于类加载和销毁的介绍
- Android四大组件之广播接收器(三)
- android 用Fragment 做tab切换 错乱问题
- vim快捷键笔记【原创】
- android关于canvas,path,paint非常好的讲解
- sqlserver定時備份
- [MAT]使用MAT比較多个heap dump文件
- Android开发之onActivityResult()中的resultCode为0,intent为null的解决办法
- ipconfig
- linux中shell变量$#,$@,$0,$1,$2的含义解释
- 主成分分析(Principal components analysis)-最小平方误差解释
- salt快速部署
- C++ 如何定义动态二维数组?
- 将matlab中数据导出VC导入
- spring 定时器配置
- 一张图片的2D to 3D过程
- Storm详解二、写第一个Storm应用
- 读取配置文件乱码
- android之自定义自己的log的格式
- oracle日期时间型timestamp的深入理解