【Java 语言】读取 properties 配置文件 ( Java 语言中的 properties 配置文件 | 使用 properties 配置文件 )

文章目录

  • [一、Java 语言中的 properties 配置文件](#一、Java 语言中的 properties 配置文件)
  • [二、使用 properties 配置文件](#二、使用 properties 配置文件)
  • 三、完整代码示例
    • [1、Java 代码](#1、Java 代码)
    • [2、properties 配置文件](#2、properties 配置文件)
    • 3、执行结果

一、Java 语言中的 properties 配置文件


Java 语言中 , properties 配置文件 是一种用于存储应用程序配置信息的文本文件 ;

properties 配置文件 通常用于配置应用程序的 各种 参数 ;

properties 配置文件 是 由一系列 键值对 组成的 , 每个 键值对 都表示一个 配置项 ;

每个配置项由 一个 键值对 组成 , 键值对 之间使用等号 " = " 分隔 ;

properties 配置文件 , 文件名一般是 " 名称.properties " ,

properties 配置文件 内容如下 :

cpp 复制代码
database.url=jdbc:mysql://localhost:3306/mydb  
database.username=root  
database.password=secret

上述配置中 ,

  • database.url 是 键 , 对应的 值 为 jdbc:mysql://localhost:3306/mydb ;
  • database.username 是 键 , 对应的 值 为 root ;
  • database.password 是 键 , 对应的 值 为 secret ;

二、使用 properties 配置文件


在 Java 语言中 , 使用 Properties 类 读取 和 操作 properties 配置文件 ;

通过加载 properties 配置文件 , 应用程序可以在运行时获取所需的配置信息 , 并根据这些信息进行相应的操作 ;

使用 Properties 类 读取 properties 配置 流程如下 :

  • 首先 , 创建 Properties 类对象 ;
cpp 复制代码
Properties prop = new Properties(); 
  • 然后 , 创建 文件输入流 , 读取指定的 properties 配置文件 ;
cpp 复制代码
FileInputStream input = new FileInputStream("config.properties");  
  • 再后 , 调用 Properties 实例对象的 load 函数 , 加载 properties 配置文件 的 文件输入流 ;
cpp 复制代码
prop.load(input);  
  • 最后 , 调用 Properties 实例对象的 getProperty 函数 , 获取指定 键 对应的 值 ;
cpp 复制代码
prop.getProperty("database.url")

三、完整代码示例


1、Java 代码

java 复制代码
import java.io.FileInputStream;
import java.io.IOException;
import java.util.Properties;

public class Main {
    public static void main(String[] args) {
        // 首先 , 创建 Properties 类对象
        Properties prop = new Properties();
        try {
            // 然后 , 创建 文件输入流 , 读取指定的 properties 配置文件
            FileInputStream input = new FileInputStream("config.properties");

            // 再后 , 调用 Properties 实例对象的 load 函数 , 加载 properties 配置文件 的 文件输入流
            prop.load(input);

            // 最后 , 调用 Properties 实例对象的 getProperty 函数 , 获取指定 键 对应的 值
            System.out.println("database.url: " + prop.getProperty("database.url"));
            System.out.println("database.username: " + prop.getProperty("database.username"));
            System.out.println("database.password: " + prop.getProperty("database.password"));

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

2、properties 配置文件

cpp 复制代码
database.url=jdbc:mysql://localhost:3306/mydb  
database.username=root  
database.password=secret

3、执行结果

执行结果 :

database.url: jdbc:mysql://localhost:3306/mydb

database.username: root

database.password: secret

代码下载 : https://download.csdn.net/download/han1202012/88541314

相关推荐
小江的记录本1 小时前
【分布式】分布式核心组件——分布式锁:Redis/ZooKeeper/etcd 实现方案(附全方位对比表)、优缺点、Redlock、时钟回拨问题
java·网络·redis·分布式·后端·zookeeper·架构
好家伙VCC1 小时前
**发散创新:用Rust实现基于RAFT共识算法的轻量级分布式日志系统**在分布式系统中,**一致性协议**是保障数据可靠
java·分布式·python·rust·共识算法
晔子yy2 小时前
【JAVA探索之路】从头开始讲透、实现单例模式
java·开发语言·单例模式
阿正的梦工坊7 小时前
JavaScript 微任务与宏任务完全指南
开发语言·javascript·ecmascript
chools7 小时前
【AI超级智能体】快速搞懂工具调用Tool Calling 和 MCP协议
java·人工智能·学习·ai
知行合一。。。8 小时前
Python--05--面向对象(属性,方法)
android·开发语言·python
李白你好8 小时前
TongWeb EJB 反序列化生成工具(Java-Chain 插件)
java·安全
青梅橘子皮8 小时前
C语言---指针的应用以及一些面试题
c语言·开发语言·算法
浅时光_c8 小时前
3 shell脚本编程
linux·开发语言·bash
Evand J9 小时前
【三维轨迹目标定位,CKF+RTS,MATLAB程序】基于CKF与RTS平滑的三维非线性目标跟踪(距离+方位角+俯仰角)
开发语言·matlab·目标跟踪