我得到什么例外情况并帮助我?

时间:2019-03-11 18:34:06

标签: java jdbc properties-file

package jdbc.examples;

import java.io.FileInputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.Properties;

public class PropertiesDemo {
    private static Connection conn;
    private static Statement st;
    private static ResultSet rs;

    public static void main(String[] args) throws Exception{
        Properties p = new Properties();
        FileInputStream fis = new FileInputStream("db.properties");
        p.load(fis);
        String driver = (String)p.getProperty("driver");
        String url = (String)p.getProperty("url");
        String user = (String)p.getProperty("user");
        String pwd = (String)p.getProperty("pwd");

            Class.forName(driver);
            conn = DriverManager.getConnection(url, user, pwd);
            st = conn.createStatement();
            rs = st.executeQuery("select ename, sal, deptno from emp");

        while(rs.next()) {
            System.out.println(rs.getString(1)+"  "+rs.getDouble(2)+"  "+rs.getInt(3));
        }

        rs.close();
        st.close();
        conn.close();
    }

}

输出:

Exception in thread "main" java.io.FileNotFoundException: db.properties (The system cannot find the file specified)     
at java.base/java.io.FileInputStream.open0(Native Method)   
at java.base/java.io.FileInputStream.open(Unknown Source)   
at java.base/java.io.FileInputStream.<init>(Unknown Source)     
at j

2 个答案:

答案 0 :(得分:0)

您要打开的文件不存在。下面的行是导致问题的原因。该文件很可能在另一个文件夹中或具有不同的名称,因此我将首先检查该文件。

first(ListConnectionStrings.connectionStrings).connectionString

答案 1 :(得分:0)

就像@Carlos和@ PM77-1一样,答案很简单“找不到文件”,简单来说,

  

FileInputStream fis =新的FileInputStream(“ db.properties”);

以上一行在Java代码的同一文件夹中搜索文件 db.properties ,但未找到。

解决方案:您可能必须移动属性文件,或者必须提及绝对/相对路径

  

FileInputStream fis =新的FileInputStream(“ c:\ myFile \ db.properties”);