我有一个config.properties文件,其中存储了数据库的凭据,但是当我尝试读取它时,我得到一个NullPointerException,Any Ideas ??
文件夹结构:
COM / mypackage的/配置
DbConnection Class
final String PROPERTIES_FILE = "com\\mypackage\\Config\\config.properties";
InputStream inputStream = getClass().getResourceAsStream(PROPERTIES_FILE);
Properties dbProperties = new Properties();
dbProperties.load(inputStream); //The run doesn't pass this point
例外
Exception in thread "main" java.lang.NullPointerException
at java.util.Properties$LineReader.readLine(Properties.java:434)
at java.util.Properties.load0(Properties.java:353)
at java.util.Properties.load(Properties.java:341)
at com.cetys.cetyslibraryinventory.Config.DataBaseConnector.retrieveConnectionParameters(DataBaseConnector.java:68)
我知道这一定是找不到文件但是为什么?任何想法?
更新
如果我将路径更改为“src \ main \ java \ com \ mypackage \ config \ config.properties”它可以正常工作,但我不喜欢那种硬编码方法还有更多的程序化方法吗?
答案 0 :(得分:0)
您是否尝试使用config.properties
文件名的绝对路径?
config.properties
文件与DbConnection
类位于同一文件夹中吗?如果是这样的话,那就写吧
final String PROPERTIES_FILE = "config.properties";
答案 1 :(得分:0)
我的专业版正在使用maven,因此我将文件移动到main / resources文件夹中 将路径更改为
String PROPERTIES_FILE = "config.properties";
InputStream inputStream = Thread.currentThread().getContextClassLoader()
.getResourceAsStream(PROPERTIES_FILE);
Properties dbProperties = new Properties();
dbProperties.load(inputStream);
一切正常。
由于