java.util.Properties类 学习笔记2 - Go语言中文社区

java.util.Properties类 学习笔记2


查看原文:http://www.ibloger.net/article/133.html

java.util.Properties类 学习笔记
学习目标:
1、认识properties文件,理解其含义,会正确创建properties文件。
2、会使用java.util.Properties类来操作properties文件。
3、掌握相对路径,能正确书写一个properties文件的相对路径。
一、认识properties文件
1、properties文件是一个文本文件
2、properties文件的语法有两种,一种是注释,一种属性配置。
注 释:前面加上#号
属性配置:以“键=值”的方式书写一个属性的配置信息。
3、properties文件的一个属性配置信息值可以换行,但键不可以换行。值换行用“”表示。
4、properties的属性配置键值前后的空格在解析时候会被忽略。
5、properties文件可以只有键而没有值。也可以仅有键和等号而没有值,但无论如何一个属性配置不能没有键。
例如,下面一个properties文件:

正确的properties配置文件

aaa=1
11
b
bb = 222

格式良好的properties文件

aaa=111
bbb=222
二、解读java.util.Properties类
1、Properties类的层次结构
java.lang.Object
java.util.Dictionary

格式良好的properties文件

name=小奎
age=19
测试类:

package stu; 

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

/** 
* Properties类测试 
* Date: 2012-6-10 18-56 
*/ 
public class TestProperties { 
public static void main(String args[]) throws IOException { 
         testProperties(); 
         test1(); 
} 

public static void testProperties() throws IOException { 
         System.out.println("------------testProperties-------------"); 
        //将properties文件加载到输入字节流中 
        InputStream is = new FileInputStream("D:\ttt.properties"); 
        //创建一个Properties容器 
        Properties prop = new Properties(); 
        //从流中加载properties文件信息 
        prop.load(is); 
        //循环输出配置信息 

        System.out.println("我是初始化加载的ttt.properties文件");
        for (Object key : prop.keySet()) { 
             System.out.println(key + "=" + prop.get(key)); 
        } 

        //定义一个输出流 
        OutputStream os1 = new FileOutputStream("D:\ttt.xml"); 
        OutputStream os2 = new FileOutputStream("D:\ttt.properties"); 

         //从Properties对象导出导出到xml 
        prop.storeToXML(os1, "我从properties导出的XML配置文件"); 
        //从Properties对象导出properties文件 
        prop.store(os2, "我从properties导出的properties配置文件"); 

        is.close();   //关闭流
        os1.close(); 
        os2.close(); 

        //从xml加载配置信息,填充Properties容器 
       prop.loadFromXML(new FileInputStream("D:\ttt.xml")); 
        //循环输出配置信息 
       System.out.println("我从导出的xml加载配置文件信息!"); 
       for (Object key : prop.keySet()) { 
            System.out.println(key + "=" + prop.get(key)); 
       } 

       //修改Properties对象,并持久化到一个文件 
      prop.put("呵呵呵", "嘎嘎嘎"); 
       OutputStream os3 = new FileOutputStream("D:\ttt1.xml"); 
       prop.storeToXML(os3, "我从properties导出的XML配置文件"); 
       os3.close(); 
} 

/** 
* 以相对路径方式加载properties文件
* @throws IOException 
*/ 
public static void test1() throws IOException { 
       System.out.println("------------test1-------------"); 
       Properties p = new Properties();

       //使用流来加载路径
       p.load(TestProperties.class.getResourceAsStream("/stu/ttt.properties")); 
       for (Object key : p.keySet()) { 
            System.out.println(key + "=" + p.get(key)); 
       } 
    } 
}

运行结果:
这里写图片描述

D:盘下写入的文件如下:
这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
呵呵,全部达到预期目标。

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/xiaokui_wingfly/article/details/49228325
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。
  • 发表于 2020-02-24 22:07:37
  • 阅读 ( 1455 )
  • 分类:

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢