Properties配置文件类

本文深入讲解Java中Properties类的使用,包括加载配置文件、读取配置内容、设置配置值及输出配置。通过实例演示如何利用Properties类进行配置文件的操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Properties 类是Java中操作配置文件的类,它的包名是java.util.Properties,从public class Properties extends Hashtable可以知道Properties类继承了Hashtable,而HashTable又是实现了Map接口,所以可对 Properties 对象应用 put 和 putAll 方法(但通常不建议使用这两个方法,因为它们允许调用者插入其键或值不是 String 的项),而相反,应该使用 setProperty 方法。如果 Properties 对象是不安全的(即包含非 String 的键或值)上调用 store 或 save 方法,则该调用无法完成,调用失败。

package com.my.iodemo;

 

import java.io.File;

import java.io.FileInputStream;

import java.io.FileReader;

import java.io.IOException;

import java.io.PrintStream;

import java.io.Reader;

import java.util.Properties;

 

/**

 * Properties 类是Java中操作配置文件的类 *

 *

 */

public class PropertiesDemo {

    public static void main(String[] args) throws IOException {

        Properties properties=new Properties();

       

        //加载配置文件

        //1、字节流(输入)

        FileInputStream in=new FileInputStream("./src/test.properties");

        properties.load(in);

        //2、字符流(输入)Reader

        Reader reader=new FileReader(new File("./src/test.properties"));

        properties.load(reader);

        reader.close();

       

        //读取配置内容

        System.out.println("name:"+properties.getProperty("name"));

        //指定默认值,当无法找到key时返回指定的默认值

        //当key不存在时,不指定默认值输出为null,指定默认值后输出默认值

        System.out.println("name1:"+properties.getProperty("name1","233333"));

       

        //设置配置的值

        //当key存在时,修改值;key不存在时,添加

        properties.setProperty("name", "西米");

        properties.setProperty("height", String.valueOf(170));

       

        properties.remove("height");

       

        //配置输出

        //1、输出到控制台

        properties.list(System.out);

        //2、输出到文件

        PrintStream outPrintStream=new PrintStream(new File("./src/test.properties"));

        properties.store(outPrintStream, "这是注释");

    }

}

代码执行效果如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值