Java 读取Properties 配置文件

时间:2022-03-26 11:58:25

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