方法一,使用 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());
}
}