关于配置文件路径

关于配置文件路径

class在运行的时候,路径不是就已经确定了吗。为什么要把相对路径转化成绝对路径呢。

正在回答

登陆购买课程后可参与讨论,去登陆

3回答

同学你好,不能直接写propertyFile = "/druid-config.properties",因为在后面需要使用propertyFile创建文件的输入流对象,需要传入文件的绝对路径。所以propertyFile应该是文件在盘符上的绝对路径。如下:

http://img1.sycdn.imooc.com//climg/5f632d6c0940f83508500236.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

好帮手慕阿慧 2020-09-16 18:42:07

同学你好,

1、老师这边使用相对路径会因为找不到文件报空指针错误。

如下:

http://img1.sycdn.imooc.com//climg/5f61ebde093b7ecc11760591.jpg

2、getResource()中可以使用相对路径,需要资源文件在DruidSample类所在的包下,如下:

http://img1.sycdn.imooc.com//climg/5f61ebf909a4016d11960390.jpg

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 易萧 #1
    噢,我的问题描述有点错误。我是想说,为什么不直接让String propertyFile = "/druid-config.properties",而要使用getPath()来得到路径。 我上面说的绝对路径是指,getPath()得到的不是从哪个盘符开始的路径吗,而getResource里面写的是classpath根下。 我也试验了一下以上做法,找不到文件,那为什么getResource就能找到呢。
    2020-09-17 12:38:57
好帮手慕阿慧 2020-09-16 17:25:57

同学你好,配置文件在classpath目录下。使用绝对路径,是从项目classpath下获取资源。如果使用相对路径,是从DruidSample类所在的包com.imooc.jdbc.sample下找资源文件,会找不到配置文件。

如果我的回答解决了你的疑惑,请采纳!祝学习愉快!

  • 提问者 易萧 #1
    那为什么getResource()里面可以使用相对路径,同一个程序里面的代码,使用同一个路径还能产生不同的结果?
    2020-09-16 17:29:42
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师