其他分享
首页 > 其他分享> > 【坑4】InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream(“/druid.properties“);为空

【坑4】InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream(“/druid.properties“);为空

作者:互联网

问题:
InputStream is = JDBCUtils.class.getClassLoader().getResourceAsStream("/druid.properties");报错为空

解决:用以下代码替换掉上面读取文件的代码即可。

FileInputStream fis = new FileInputStream(JdbcUtils.class.getResource("/").getPath() + "druid.properties");

应该是路径有问题。

getResource接受一个字符串参数,如果以”/”开头,就在classpath根目录下找(不会递归查找子目录),如果不以”/”开头,就在调用getResource的字节码对象所在目录下找(同样不会递归查找子目录)。

输出JdbcUtils.class.getResource("/").getPath()为:
/E:/allJavaProject/itcast/travel/target/classes/

目录结构如下:编译后的文件中properties文件直接放在了classes下面
在这里插入图片描述

标签:JDBCUtils,getResource,druid,getClassLoader,class,FileInputStream,InputStream,pro
来源: https://blog.csdn.net/u014685547/article/details/122653848