java.util.Properties类介绍

java.util.Properties 是 Java 编程语言中的一个类,用于管理应用程序的配置信息,它继承自 java.util.Hashtable 类,因此它也是基于键值对的数据结构。主要用途是存储应用程序的配置参数,比如数据库连接信息、用户设置等。

以下是 Properties 类的一些主要特点和用法:

  1. 存储配置信息:它可以存储键值对,其中键和值都是字符串类型。

  2. 读取和写入配置文件:通常用于从配置文件中读取配置信息,并且可以将配置信息写入配置文件中。常见的配置文件格式包括 .properties 文件格式,它是简单的文本文件,每行表示一个键值对。

  3. 默认值:可以设置默认值,如果在配置文件中找不到指定的键,则返回默认值。

  4. 持久化:可以将配置信息持久化到文件系统,以便在应用程序重启后仍然可以使用相同的配置。

  5. 加载和存储:提供了 load() 和 store() 方法来从输入流中加载属性列表,或将属性列表存储到输出流中。

下面是一个简单的示例,展示了如何使用 Properties 类读取和写入配置文件:

package com.example;

import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.util.Properties;

public class AppConfig {

    public static void main(String[] args) {
        Properties prop = new Properties();
        
        // 获取当前工作目录,即程序执行时所处的路径,config.properties文件存放位置
        String currentDir = System.getProperty("user.dir");
        System.out.println("Current directory: " + currentDir);
        
        try {
            // 从文件加载属性
            prop.load(new FileInputStream("config.properties"));

            // 读取属性
            String username = prop.getProperty("db.username");
            String password = prop.getProperty("db.password");

            System.out.println("Username: " + username);
            System.out.println("Password: " + password);

            // 修改属性
            prop.setProperty("db.password", "newpassword");

            // 将属性写入文件
            prop.store(new FileOutputStream("config.properties"), null);

        } catch (IOException ex) {
            ex.printStackTrace();
        }
    }
}

config.properties 文件内容:

#Tue Jul 09 11:23:07 CST 2024
db.password=newpassword
app.debug=true
db.username=root
db.url=jdbc\:mysql\://localhost\:3306/mydb

在这个示例中,假设存在一个名为 config.properties 的配置文件,包含了 db.username 和 db.password 的键值对。程序首先加载这些属性,然后可以读取和修改它们,并最终将修改后的属性重新写入到同一个配置文件中。

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值