java项目的配置文件,一般放在resources下。properties文件

这里举个小例子,读取mysql的配置mysql.properties。

properties文件,里面的内容,采用的是键值对的形式,注意=号两边,是没有空格的。

mysql.properties

driver=com.mysql.cj.jdbc.Driver
url=jdbc:mysql://124.70.87.136/chen
userName=root
password=123456

读取mysql.properties配置文件,用Properties这个类。

Properties prop = new Properties();
class Properties extends Hashtable<Object,Object>

Properties这个类,继承于Hasbtable。

Hashtable 与HashMap ,都属于Map,只不过一个是线程安全,一个是线程不安全。

Map是key value 格式的。Properties 的key 与value 类型 都是String。

方式一:

package day05.jdbc;

import java.io.*;
import java.util.Properties;

public class PropDemo {
    public static void main(String[] args) {
        Properties prop = new Properties();
        // 字节输入流
        try {
            FileInputStream in = new FileInputStream("src/main/resources/mysql.properties");
            // 传字节流或者字符流
            prop.load(in);

            // 取数据
            String driver = prop.getProperty("driver");
            System.out.println("driver = " + driver);

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }


    }
}

输出结果:

driver = com.mysql.cj.jdbc.Driver

注意,输入流FileInputStream里面的路径,是相对于项目来说的,"src/main/resources/mysql.properties"

方式二:(常用)

InputStream in = PropDemo.class.getClassLoader().getResourceAsStream("mysql.properties");

getClassLoader(),寻找文件路径,会直接去工程的resources目录下,寻找文件。 

package day05.jdbc;

import java.io.*;
import java.util.Properties;

public class PropDemo {
    public static void main(String[] args) {
        Properties prop = new Properties();
        // 字节输入流
        try {
//            FileInputStream in = new FileInputStream("src/main/resources/mysql.properties");
            InputStream in = PropDemo.class.getClassLoader().getResourceAsStream("mysql.properties");
//            InputStream in2 = PropDemo.class.getResourceAsStream("mysql.properties");
            // 传字节流或者字符流
            prop.load(in);

            // 取数据
            String driver = prop.getProperty("driver");
            System.out.println("driver = " + driver);

        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }


    }
}