Java 读取Properties 配置文件

方法一,使用 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());
    }
}
如果有来生,一个人去远行,看不同的风景,感受生命的活力。。。
原文地址:https://www.cnblogs.com/Frank99/p/5663985.html