day23-Properties类的使用

一、Properties

1.概述:

      Properties类主要用于来读取Java的配置文件信息。因为在我们的项目中有时候会用到一些固定的数据,那时候就可以把这些数据写入到配置文件中,并且如果后期修改的话,只需要修改该配置文件即可,不需要繁琐的去修改源代码,常用在连接数据库的上面。将用户名密码 还有驱动链接等写入配置文件,程序直接读取即可。

2.文件数据格式:

   Properties配置文件中存放的都是键值对的形式,不需要双引号,也不需要逗号分号隔开,一行存放一个键值对,直接key=value的形式。文件命名以 .properties作为扩展名。

3.使用方式

 (1)常规的I/O读取文件的形式

private static void method_1() throws FileNotFoundException, IOException {

        // 使用字节流关联properties 文件
        InputStream in = new FileInputStream(new File("./src/db.properties"));
        // 实例化一个properties对象
        Properties prop = new Properties();
        // 加载流,从流中拿到读取来的信息
        prop.load(in);
        // 获取需要的值
        String userName = prop.getProperty("userName");//tom
        String password = prop.getProperty("password");//123

        System.out.println(userName + password);
    }

 (2)使用类加载器的方式加载这个文件

    private static void method_2() throws IOException {
        // 使用类加载器来实现 ***常用的 需要记住会用
        InputStream in = Thread.currentThread().getContextClassLoader().getResourceAsStream("db.properties");

        //实例化一个Properties对象
        Properties prop = new Properties();
        //将流中的信息加载进来
        prop.load(in);
        //获取对应的数据
        String userName = prop.getProperty("userName");
        String password = prop.getProperty("password");
        
        System.out.println(userName+password);
    }

(3)也可以往配置文件中写数据,跟普通的输出流操作一样的。

  public static void methodDemo_1() throws IOException {

        Properties prop = new Properties();

        prop.setProperty("zhnagsan", "20");
        prop.setProperty("lisi", "30");
        prop.setProperty("wangwu", "40");

        //将这些集合中的信息以键值对的形式持久化的存储到文件中
        //需要关联一个输出流,写入到硬盘上(字节流 字符流都可以)
        FileOutputStream fos = new FileOutputStream("info.txt");
//保存 prop.store(fos, "name+age");//保存信息方法 fos.close(); }

 

posted on 2018-08-14 21:01  志爱007  阅读(128)  评论(0编辑  收藏  举报