读取perperties文件时出现空指针异常

时间:2021-10-15 08:19:41
RT,我是对着视频教程写的代码,但就是会出现nullpoint异常,抓狂;,望各位大虾指教,上代码

Dbconfig.properties文件也在package com.MVC.util 下

package com.MVC.util;

import java.io.FileInputStream;
import java.io.*;
import java.io.IOException;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

import com.mysql.jdbc.Connection;

public class ConnectionUtil {
public java.sql.Connection getConnection()
{
String username=null;
String password=null;
String url=null;
String Driver=null;
Properties prop=new Properties();

try {
prop.load(this.getClass().getClassLoader().getResourceAsStream("Dbconfig.properties"));
username=prop.getProperty("username");
password=prop.getProperty("password");
url=prop.getProperty("url");
Driver=prop.getProperty("Driver");
Class.forName(Driver);
return DriverManager.getConnection(url,username,password);
} catch (ClassNotFoundException e) {
e.printStackTrace();
} catch (SQLException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}


return null;

}
public static void main(String args[])
{
System.out.println(new ConnectionUtil().getConnection());
}

}




异常信息
Exception in thread "main" java.lang.NullPointerException
at java.util.Properties$LineReader.readLine(Properties.java:418)
at java.util.Properties.load0(Properties.java:337)
at java.util.Properties.load(Properties.java:325)
at com.MVC.util.ConnectionUtil.getConnection(ConnectionUtil.java:22)
at com.MVC.util.ConnectionUtil.main(ConnectionUtil.java:43)

10 个解决方案

#1


自己顶一下

#2


是不是读取properties文件时路径错误,实在不行把properties文件直接拷在classes文件夹里

#3


username=prop.getProperty("username");
password=prop.getProperty("password");
url=prop.getProperty("url");
Driver=prop.getProperty("Driver");
你确定这样写对吗?

我觉得这样写
String username=request.getParameter("username");
。。。

#4


"/Dbconfig.properties"

#5


引用 4 楼 leehomwong 的回复:
"/Dbconfig.properties"

可能是这个原因,试试

#6


文件路径的问题!最好花点时间好好研究一下~!

#7


配置文件路径问题

请检查配置文件内容是否正确

#8


前几天刚刚帮他们看过这个问题!!一模一样!帮你调试一下!!
一步:
把配置文件拷贝到src下面;
定义一个FinlInputStream in;
把in打印一下,看是不是为空!
然后prop.load(in);

#9


按你这种方式读取,应该把Dbconfig.properties放到src目录下才能读取。

#10


文件放在src下!

#1


自己顶一下

#2


是不是读取properties文件时路径错误,实在不行把properties文件直接拷在classes文件夹里

#3


username=prop.getProperty("username");
password=prop.getProperty("password");
url=prop.getProperty("url");
Driver=prop.getProperty("Driver");
你确定这样写对吗?

我觉得这样写
String username=request.getParameter("username");
。。。

#4


"/Dbconfig.properties"

#5


引用 4 楼 leehomwong 的回复:
"/Dbconfig.properties"

可能是这个原因,试试

#6


文件路径的问题!最好花点时间好好研究一下~!

#7


配置文件路径问题

请检查配置文件内容是否正确

#8


前几天刚刚帮他们看过这个问题!!一模一样!帮你调试一下!!
一步:
把配置文件拷贝到src下面;
定义一个FinlInputStream in;
把in打印一下,看是不是为空!
然后prop.load(in);

#9


按你这种方式读取,应该把Dbconfig.properties放到src目录下才能读取。

#10


文件放在src下!