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();
}
}
}
















