Java读取properties文件教程

4星 · 超过85%的资源 需积分: 42 9 下载量 195 浏览量 更新于2024-09-21 收藏 2KB TXT 举报
本文将介绍如何使用Java语言读取properties文件的内容,主要关注最基础的方法。在Java项目中,我们经常需要从配置文件中获取属性值,例如在war包环境下读取properties文件来获取系统设置或者应用配置。下面将通过一个简单的示例代码展示如何实现这一过程。 在Java中,读取properties文件通常使用`java.util.Properties`类。以下是一个简单的读取过程: 1. 首先,我们需要创建一个`Properties`对象,这个对象将用于存储properties文件中的键值对。 2. 接着,我们需要找到properties文件的路径。在war包环境中,文件通常位于类路径(classpath)内,因此我们可以使用`Thread.currentThread().getContextClassLoader().getResource("")`来获取当前类路径的根路径。 3. 创建一个`FileInputStream`实例,传入properties文件的完整路径,用于打开并读取文件。 4. 使用`Properties`对象的`load()`方法加载文件内容,这将把文件中的键值对加载到`Properties`对象中。 5. 最后,可以通过`getProperty()`方法获取指定键对应的值,例如`props.getProperty("dx.server.host")`。 示例代码如下: ```java import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.util.Properties; public class ReadProperties { private static final String CONFIG_PROPERTIES_FILE = "sms.properties"; public static void main(String[] args) { // 获取properties文件路径 String filePath = Thread.currentThread().getContextClassLoader().getResource("").getPath(); try { Properties props = loadProperties(filePath + CONFIG_PROPERTIES_FILE); System.out.println(props.getProperty("dx.server.host")); // 打印"dx.server.host"的值 } catch (Exception e) { e.printStackTrace(); } } public static Properties loadProperties(String propertiesFile) throws Exception { Properties props = null; try { InputStream in = new FileInputStream(propertiesFile); props = new Properties(); props.load(in); // 加载文件内容 } finally { if (props != null) { props.clear(); // 可选:清理props对象 } if (in != null) { in.close(); // 关闭输入流 } } return props; } } ``` 这段代码首先定义了一个静态方法`loadProperties()`,该方法接收一个文件路径作为参数,然后创建`FileInputStream`并加载properties文件。在`main()`方法中,我们调用`loadProperties()`加载文件,并打印出特定键的值。 需要注意的是,异常处理是必不可少的。在实际开发中,应当根据具体需求进行适当的错误处理,例如记录日志或抛出自定义异常。此外,为了资源管理,确保在使用完`InputStream`后关闭它,防止内存泄漏。 读取properties文件是Java开发中的常见操作,通过`Properties`类可以方便地获取配置文件中的数据,从而灵活地调整应用程序的行为。