您现在的位置是:首页 > JAVA教程 > 正文

Java读取properties配置文件的方法及示例

编辑:本站更新:2024-09-17 08:14:14人气:1840
在 Java 开发过程中,为了实现程序的灵活性和可维护性,我们常常需要将一些运行时可能会变动或者根据不同环境有所不同的参数(如数据库连接字符串、端口号等)存储到一个单独的配置文件中。Properties 类是 JDK 内置的一个用于处理属性文件的标准类,它可以方便地从.properties 文件加载或保存键值对形式的数据。

以下详细阐述了如何使用Java来读取 properties 配置文件,并给出具体代码实例:

**1. 创建并编写 Properties 文件**

首先创建一个名为 `config.properties` 的文本文件,在其中以“key=value”的格式书写内容例如:

ini

database.url=jdbc:mysql://localhost:3306/mydb
username=admin
password=secret


**2. 通过 FileInputStream 加载 Properties 文件**

要读取这个配置文件中的数据,我们可以利用 java.io.FileInputStream 和 java.util.Properties 这两个类进行配合操作:

java

import java.io.InputStream;
import java.util.Properties;

public class ConfigLoader {
public static void main(String[] args) throws Exception{
// 定义文件路径与名称
String filePath = "src/main/resources/config.properties";

InputStream inStream = null;
try {
// 使用FileInputStream打开资源文件
inStream = new FileInputStream(filePath);

// 新建Properties对象,用来装载配置信息
Properties props = new Properties();

// 将输入流关联至Properties对象上
props.load(inStream);

// 获取指定 key 对应的 value 值
String dbUrl = props.getProperty("database.url");
System.out.println("Database URL is : "+dbUrl);

String username = props.getProperty("username");
System.out.println("Username is : "+username);

String password = props.getProperty("password");
System.out.println("Password is : "+password);
} catch (Exception e){
throw new RuntimeException(e.getMessage());
} finally {
if(null != inStream)
try{inStream.close();}
catch(Exception ex){}
}
}
}

上述代码片段展示了整个流程:新建 FileInputSteam 并指向待解析的 .properties 文件;接着构建一个新的 Properties 实例并将 input stream 转储进该实例;最后,调用 getProperty 方法获取特定 Key 所对应的 Value。

需要注意的是,务必确保正确关闭输入流以及妥善处理可能出现的异常情况,这里采用了try-catch-finally结构来进行资源管理和错误捕获。

总结来说,借助于Java标准库提供的Properties工具类,开发者能够轻松灵活管理应用程序的各种外部化设置,使得系统具备更好的适应性和扩展能力。只需简单几步即可完成配置项的存取工作,极大提高了开发效率的同时降低了后期运维成本。
关注公众号

www.php580.com PHP工作室 - 全面的PHP教程、实例、框架与实战资源

PHP学习网是专注于PHP技术学习的一站式在线平台,提供丰富全面的PHP教程、深入浅出的实例解析、主流PHP框架详解及实战应用,并涵盖PHP面试指南、最新资讯和活跃的PHP开发者社区。无论您是初学者还是进阶者,这里都有助于提升您的PHP编程技能。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

最新推荐

本月推荐