java的IO之Properties类

来源:互联网 发布:plc编程前景 编辑:程序博客网 时间:2024/05/16 19:02

1.配置文件:资源文件(以.properties作为拓展名的文件)/属性文件

做项目开发,为何使用配置文件?
    把所有的数据存储在代码中,写死了,”硬编码”.比如:在Java中需要连接数据库,必须拥有数据的账号和密码.此时我们就得在Java代码中编写,类似的代码:
       String  username=”root”;
       String password=”admin”
     代码程序运行OK.但是,以后我们把项目部署在别人电脑/服务器中,别人电脑中的数据库的账号和密码可以不再是root和admin,此时我们就得去项目中到处去找使用了账号和密码的地方.部署项目的是实施人员,为了安全操作,不能让其直接修改代码.
     此时,我们专门为数据库提供一个配置文件,里面专门存储数据库连接相关的信息.
--------------------------------------------------------------------
db.properties
-----------------------------------
#key=value
username=root
password=admin
--------------------------------------------------------------------
现在数据库的连接信息在db.properties文件中,而Java代码需要获取该文件中的信息.
重心转移:  Java代码如何加载properties文件,如何获取该文件中的数据.

必须使用Properties类(Hashtable的子类,Map接口的实现类).

db.properties文件需要放到src目录下

username=rootpassword=admin
测试获取其中用户名和密码:

import java.io.InputStream;import java.util.Properties;public class IODemo12 {public static void main(String[] args) throws Exception {//获取类加载器ClassLoader classLoader = Thread.currentThread().getContextClassLoader();//获取流InputStream inputStream =classLoader.getResourceAsStream("db.properties");//创建Properties对象Properties properties = new Properties();//将流中的数据加载到properties对象中properties.load(inputStream);//根据key获取值System.out.println("账号:" + properties.getProperty("username"));System.out.println("密码:" + properties.getProperty("password"));}}