Properties类

来源:互联网 发布:淘宝图片轮播宽度 编辑:程序博客网 时间:2024/05/07 01:17

    包:java.util   

    public class Propertities extends Hashtable

    Properties 类表示了一个持久的属性集。Properties 可保存在流中或从流中加载。属性列表中每个键及其对应值都是一个字符串。以下是常用的方法:

    public Properties():创建一个无默认值的空属性列表。

    public Properties(Properties defaults):创建一个带有指定默认值的空属性列表。

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

    public void store(OutputStream out, String comments):以适合使用 load(InputStream) 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。

    public Object setProperty(String key, String value):修改属性列表中key对应的键值为value,如不存在对应的key,则新建一个对应的键值对。

    public String getProperty(String key):用指定的键在此属性列表中搜索属性。如果在此属性列表中未找到该键,则接着递归检查默认属性列表及其默认值。如果未找到属性,则此方法返回 null。

    public String getProperty(String key, String defaultValue):用指定的键在属性列表中搜索属性。如果在属性列表中未找到该键,则接着递归检查默认属性列表及其默认值。如果未找到属性,则此方法返回默认值变量。

    示例代码如下:

import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.PrintStream;import java.util.Properties;public class PropertyTest {public static void main(String[] args) throws Exception {// TODO Auto-generated method stubProperties prop = new Properties();// 属性集合对象           FileInputStream fis = new FileInputStream("prop.properties");// 属性文件输入流   prop.load(fis);// 将属性文件流装载到Properties对象中           fis.close();// 关闭流             // 获取属性值,sitename已在文件中定义           System.out.println("获取属性值:sitename=" + prop.getProperty("sitename"));           // 获取属性值,country未在文件中定义,将在此程序中返回一个默认值,但并不修改属性文件           System.out.println("获取属性值:country=" + prop.getProperty("country", "中国"));             // 修改sitename的属性值           prop.setProperty("sitename", "Boxcode");           // 添加一个新的属性studio           prop.setProperty("studio", "Boxcode Studio");           // 文件输出流           FileOutputStream fos = new FileOutputStream("prop.properties");           // 将Properties集合保存到流中   prop.store(fos, "Copyright (c) Boxcode Studio");prop.list(new PrintStream(System.out));        fos.close();// 关闭流   }}


原创粉丝点击