zoukankan      html  css  js  c++  java
  • JDBC中获取 Properties类的对象

    问题:  数据库四大参数:  写在代码中, 写死, 修改这个四个参数, 需要去修改源码, 重新编译, 

    解决方案:  把这四大参数不写在源码中, 需要一个文件存放, 代码中,使用IO流读取文件,

    Jdk提供一个  Properties类,  是Map的一个实现类,  存放的也是key/value, 关联硬盘某个文件,要求这个文件的后缀名: .properties(文本文件)

     这个文件格式:

       Key1=value1

       Key2=value2

       .....

    这个文件一般放在src目录下

    推荐写法:

    //1.创建Properties类的对象
            Properties props = new Properties();
            try {
                //2.加载数据 ***
                props.load(Thread.currentThread().getContextClassLoader()
           .getResourceAsStream("test.properties")); //3.获取数据, 通过key获取value value getProperty(key) System.out.println(props.getProperty("name")); System.out.println(props.getProperty("age")); System.out.println(props.getProperty("sex")); } catch (IOException e) { e.printStackTrace(); }

    这个文件路径: 绝对路径, 如果这个项目位置发生变化,这个路径也需要修改,
      props.load(new FileInputStream("D:\code\代码\jdbc02\src\test.properties"));

    使用相对路径:
    第一种写法:
         Demo2.class.getResourceAsStream() 参考点: Demo2.java所在的目录
        要求这个文件与这个类在同一个目录
        InputStream in = Demo2.class.getResourceAsStream("test.properties");
        文件路径: src/jdbc02/test.properties


    第二种写法 Demo2.class.getClassLoader().getResourceAsStream() 参考点: src
        InputStream in = Demo2.class.getClassLoader().getResourceAsStream("test.properties");


    第三种写法: (推荐
        Thread.currentThread().getContextClassLoader().getResourceAsStream(dbconfig); 参考点:src

  • 相关阅读:
    使用 apache ant 轻松实现文件压缩/解压缩(转)
    Ajax下载文件(页面无刷新)
    java实现写大量数据到文件中
    mysql的wait_timeout配置(此处处理方法是有问题的,不建议作为操作参考)
    Class对象
    使用Comparable接口的小例子
    java打印菱形的简单方法
    自适应学习率调整:AdaDelta
    神经网络模型算法与生物神经网络的最新联系
    [杂谈]机器学习:数学、概率与人工智能
  • 原文地址:https://www.cnblogs.com/64Byte/p/12790284.html
Copyright © 2011-2022 走看看