
java 读取配置文件路径问题
我看了资料Properties读取配置文件都只能读取src下的文件,这个确实是可以实现,但是项目的配置文件是放在web/WEB-INF/configs/jdbc.prop...
我看了资料 Properties 读取配置文件都只能读取src下的文件,这个确实是可以实现,但是项目的配置文件是放在 web/WEB-INF/configs/jdbc.properties 文件夹下的,这个应该如何读取呢?
Properties pro = new Properties();
ClassLoader cl = Thread.currentThread().getContextClassLoader();
InputStream stream = cl.getResourceAsStream("com/pyllot/jdbc.properties");// 这个地方可以读取src下的配置文件,但是我现在的配置文件位置是在web/WEB-INF/configs下.如果stream = cl.getResourceAsStream("web/WEB-INF/configs/jdbc.properties")这样写,那么就会报空指针,应该是找不到文件的问题. ....
pro.load(stream);
高手指教 QQ785035779.... 展开
Properties pro = new Properties();
ClassLoader cl = Thread.currentThread().getContextClassLoader();
InputStream stream = cl.getResourceAsStream("com/pyllot/jdbc.properties");// 这个地方可以读取src下的配置文件,但是我现在的配置文件位置是在web/WEB-INF/configs下.如果stream = cl.getResourceAsStream("web/WEB-INF/configs/jdbc.properties")这样写,那么就会报空指针,应该是找不到文件的问题. ....
pro.load(stream);
高手指教 QQ785035779.... 展开
3个回答
展开全部
你是web工程 要能得到request对象就好了。
String path=servletContext.getRealPath("/"); 得到的就是 编译后web文件夹的路径
path+"/WEB-INF/configs/jdbc.properties" 就可以了。
还是建议用上面的方法
2 上边cl.getResourceAsStream("") 我试了一下只能得到classes下面的文件
也就是\WEB-INF\classes\下的文件
向上去 /WEB-INF/就不行了。
3 可以通过cl得到一个file 你对file进行操作区找 那个配置文件。。
new File(cl.getResource("").getPath()) //这个file就是classes文件夹了
/WEB-INF/
--/configs/jdbc.properties
--/classes/这里就是src的路径了
String path=servletContext.getRealPath("/"); 得到的就是 编译后web文件夹的路径
path+"/WEB-INF/configs/jdbc.properties" 就可以了。
还是建议用上面的方法
2 上边cl.getResourceAsStream("") 我试了一下只能得到classes下面的文件
也就是\WEB-INF\classes\下的文件
向上去 /WEB-INF/就不行了。
3 可以通过cl得到一个file 你对file进行操作区找 那个配置文件。。
new File(cl.getResource("").getPath()) //这个file就是classes文件夹了
/WEB-INF/
--/configs/jdbc.properties
--/classes/这里就是src的路径了
展开全部
InputStream is = this.getClass().getClassLoader()
.getResourceAsStream("../lib/config.properties");
.getResourceAsStream("../lib/config.properties");
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
读取配置文件最好用java.util.ResourceBundle类。
配置文件xxxx.properties文件要放在classes的编译路径下面。
比如xxxx.properties文件放在了classes目录下,读取时这样调用
// 读取配置文件
ResourceBundle resourcesTable = ResourceBundle.getBundle(“xxxx”);
// 取得strKey对应的value值
String strValue = resourcesTable.getString("strKey");
配置文件xxxx.properties文件要放在classes的编译路径下面。
比如xxxx.properties文件放在了classes目录下,读取时这样调用
// 读取配置文件
ResourceBundle resourcesTable = ResourceBundle.getBundle(“xxxx”);
// 取得strKey对应的value值
String strValue = resourcesTable.getString("strKey");
参考资料: http://student.csdn.net/space.php?uid=124362&do=blog&id=34751
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询