java读写properties配置文件
### Java读写Properties配置文件详解 #### 一、引言 在Java开发中,`Properties`类被广泛用于处理各种类型的配置文件。这些文件通常包含了应用程序运行时所需的配置信息,如数据库连接信息、系统参数等。`Properties`类继承自`Hashtable`类,并通过键值对的形式存储数据。本文将详细介绍如何使用Java来读取和写入`Properties`配置文件。 #### 二、Properties类简介 `Properties`类是`java.util`包下的一个类,它专门用来处理文本配置文件。这类文件通常遵循“键=值”的格式,例如: ``` # info.properties url=http://example.com name=John Doe ``` #### 三、读取Properties配置文件 1. **读取单个键值** 在读取配置文件时,我们首先需要创建一个`Properties`对象,并使用`load`方法加载文件。接着可以通过`getProperty`方法获取指定键对应的值。 ```java public static String readValue(String filePath, String key) { Properties props = new Properties(); try { InputStream in = new BufferedInputStream(new FileInputStream(filePath)); props.load(in); String value = props.getProperty(key); System.out.println(key + "=" + value); return value; } catch (Exception e) { e.printStackTrace(); return null; } } ``` 2. **读取所有键值** 如果需要读取配置文件中的所有键值对,可以使用`propertyNames`方法获取所有键名,并通过`getProperty`方法逐一读取每个键对应的值。 ```java public static void readProperties(String filePath) { Properties props = new Properties(); try { InputStream in = new BufferedInputStream(new FileInputStream(filePath)); props.load(in); Enumeration en = props.propertyNames(); while (en.hasMoreElements()) { String key = (String) en.nextElement(); String value = props.getProperty(key); System.out.println(key + "=" + value); } } catch (Exception e) { e.printStackTrace(); } } ``` #### 四、写入Properties配置文件 写入操作通常涉及到更新或添加新的键值对。`Properties`类提供了`setProperty`方法来设置或更新键值对,以及`store`方法将更改保存回文件。 ```java public static void writeProperties(String filePath, String parameterName, String parameterValue) { Properties prop = new Properties(); try { InputStream fis = new FileInputStream(filePath); // 从输入流中读取属性列表(键和元素对) prop.load(fis); // 调用Hashtable的方法put。使用getProperty方法提供并行性。 // 强制要求为属性的键和值使用字符串。返回值是Hashtable调用put的结果。 OutputStream fos = new FileOutputStream(filePath); prop.setProperty(parameterName, parameterValue); // 以适合使用load方法加载到Properties表中的格式, // 将此Properties表中的属性列表(键和元素对)写入输出流 prop.store(fos, "Update '" + parameterName + "' value"); } catch (IOException e) { System.err.println("Visit " + filePath + " for updating " + parameterName + " value error"); } } ``` #### 五、示例程序 下面是一个简单的示例程序,演示了如何使用上述方法读取和写入`Properties`配置文件。 ```java public static void main(String[] args) { readValue("info.properties", "url"); writeProperties("info.properties", "age", "22"); readProperties("info.properties"); System.out.println("OK"); } ``` #### 六、总结 通过上述介绍,我们可以看到使用Java读写`Properties`配置文件是非常直观和方便的。这种能力对于开发过程中管理和维护配置信息至关重要。无论是简单的键值对读取还是复杂的批量更新,`Properties`类都能满足需求。此外,在实际应用中,还可以结合文件操作类如`FileInputStream`和`FileOutputStream`来实现更复杂的功能,比如加密解密配置文件、动态配置加载等。 以上就是关于Java读写`Properties`配置文件的详细讲解。希望对你有所帮助!
Java代码
package com.LY;
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.util.Enumeration;
import java.util.Properties;
public class TestMain {
// 根据key读取value
public static String readValue(String filePath, String key) {
Properties props = new Properties();
try {
InputStream in = new BufferedInputStream(new FileInputStream(
filePath));
props.load(in);
String value = props.getProperty(key);
System.out.println(key + value);
return value;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
// 读取properties的全部信息
public static void readProperties(String filePath) {
Properties props = new Properties();
- 粉丝: 1
- 资源: 8
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助