方法一,使用 io 包中的 BufferedInputStream 以及 FileInputStream读入文件转成字符流,然后使用 lang 包中 的 Properties 的 load 方法进行读取.
package com.yli.util; import java.io.BufferedInputStream; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.IOException; import java.io.InputStream; import java.sql.*; import java.util.Properties; public class DBConnection { public static String driver=null, url=null, user=null, passowrd=null; public static Connection conn=null; static{ Properties pro=new Properties(); String file="jdbc.properties";//此方法不用写 src/jdbc.properties try { InputStream in=DBConnection.class.getClassLoader().getResourceAsStream(file); //new BufferedInputStream(new FileInputStream(file)); pro.load(in); if(pro!=null){ driver=pro.getProperty("driver"); url=pro.getProperty("url"); user=pro.getProperty("user"); passowrd=pro.getProperty("password"); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } //利用上面读取出来的 driver, url,user,password 来获取数据库的连接 public static Connection getConn(){ try { Class.forName(driver); conn=DriverManager.getConnection(url, user, passowrd); } catch (ClassNotFoundException e1) { e1.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; } public static void main(String []args){ System.out.println(DBConnection.getConn()); } }方法二: 利用 本类的类文件获取类加载器然后把 properties 文件转换为 流,然后使用 lang 包中load方法进行加载,使用 getProperty 方法读取.
这种方法常用
package com.yli.util;import java.io.BufferedInputStream;import java.io.FileInputStream;import java.io.FileNotFoundException;import java.io.IOException;import java.io.InputStream;import java.sql.*;import java.util.Properties;public class DBConnection { public static String driver=null, url=null, user=null, passowrd=null; static{ Properties pro=new Properties(); String file="src/jdbc.properties"; //此法需要写 src 这层目录 try { InputStream in=new BufferedInputStream(new FileInputStream(file)); pro.load(in); if(pro!=null){ driver=pro.getProperty("driver"); url=pro.getProperty("url"); user=pro.getProperty("user"); passowrd=pro.getProperty("password"); } } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public static Connection getConn(){ Connection conn=null; try { Class.forName(driver); conn=DriverManager.getConnection(url, user, passowrd); } catch (ClassNotFoundException e1) { e1.printStackTrace(); } catch (SQLException e) { e.printStackTrace(); } return conn; } public static void main(String []args){ System.out.println(DBConnection.getConn()); }}