• Properties


    一.定义

    Properties类继承自Hashtable(Hashtable实现了Map接口),它表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。

    常用方法:

    void     load(InputStream inStream) 从输入流中读取属性列表(键和元素对)。

    String  getProperty(String key) 在属性列表中根据key获取value。

    Object  setProperty(String key,String Value)调用 Hashtable 的put方法,给属性列表增加属性,但不修改properties配置文件 

    void     store(OutputStream out,String comments)将属性列表(键和元素对)写入输出流(即写到properties属性文件中)。

    二.测试

    1.新建一个普通java项目,在根目录下创建文件test.properties(.properties文件默认使用ISO-8859-1编码,不能显示中文,可自行设置)
    test1=u6D4Bu8BD51
    test2=test2
    test8=ttt

    其中test1的值为"测试1"

    2.src下创建测试类
     1 package test;
     2 
     3 import java.io.FileInputStream;
     4 import java.io.FileNotFoundException;
     5 import java.io.FileOutputStream;
     6 import java.io.IOException;
     7 import java.util.Properties;
     8 
     9 /**
    10  * 运用Properties对象读写properties属性文件
    11  * @author phase1
    12  *
    13  */
    14 public class TestProperties {
    15     public static void main(String[] args) {
    16         //创建Properties对象
    17         Properties prop = new Properties();
    18         //创建输入流,指向配置文件
    19         FileInputStream fis = null;
    20         //创建输出流,指向新的文件;也可以指向原文件
    21         FileOutputStream fos = null;
    22         try {
    23              fis= new FileInputStream("test.properties");
    24              fos= new FileOutputStream("copy.properties");
    25              //加载属性文件
    26              prop.load(fis);
    27              //读取配置文件的键值
    28              System.out.println(prop.getProperty("test1"));
    29              //设置新属性,(但不修改属性文件)
    30              prop.setProperty("test3", "---");
    31              //创建新的(或修改原文件),第二个参数为新文件的说明性字符串,放在属性文件的第一行
    32              prop.store(fos,"new properties");
    33         } catch (FileNotFoundException e) {
    34             // TODO Auto-generated catch block
    35             e.printStackTrace();
    36         } catch (IOException e){
    37             e.printStackTrace();
    38         } finally{
    39             if(fis!=null){
    40                 try {
    41                     fis.close();
    42                     fos.close();
    43                 } catch (IOException e) {
    44                     // TODO Auto-generated catch block
    45                     e.printStackTrace();
    46                 }
    47             }
    48         }
    49     }
    50 }
    3.运行测试类,刷新项目,项目根目录下会多出一个新的文件copy.properties
    1 #new properties
    2 #Thu Oct 27 11:28:43 CST 2016
    3 test3=---
    4 test2=test2
    5 test1=u6D4Bu8BD51
    6 test8=ttt

    同时控制台会输出:测试1

  • 相关阅读:
    python基础代码2
    将博客搬至CSDN
    Python基础代码1
    使用函数处理数据
    创建计算字段
    用通配符进行过滤
    高级过滤数据
    过滤数据
    模式与架构
    工厂方法模式和简单工厂模式的选折
  • 原文地址:https://www.cnblogs.com/fenglanglang/p/6003426.html
Copyright © 2020-2023  润新知