zoukankan      html  css  js  c++  java
  • 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());
        }
    }
    如果有来生,一个人去远行,看不同的风景,感受生命的活力。。。
  • 相关阅读:
    吴裕雄--天生自然 R语言开发学习:图形初阶
    吴裕雄--天生自然 R语言开发学习:导入数据
    如何基于阿里云搭建适合初创企业的轻量级架构?
    基于协同过滤算法的推荐
    重磅!阿里巴巴工程师获得 containerd 社区席位,与社区共建云时代容器标准
    完爆 Best Fit,看阿里如何优化 Sigma 在线调度策略节约亿级成本
    阿里云物联网边缘计算加载MQTT驱动
    阿里云物联网平台体验(树莓派+Python篇)
    RAM SSO功能重磅发布 —— 满足客户使用企业本地账号登录阿里云
    阿里云高级技术专家带你全面了解云主机性能评测
  • 原文地址:https://www.cnblogs.com/Frank99/p/5663985.html
Copyright © 2011-2022 走看看