Java_Properties_类读取配置文件信息
在我们平时写程序的时候,有些参数是经常改变的,而这种改变不是我们预知的。比如说我们开发了一个操作数据库的模块,在开发的时候我们连接本地的数据库那么IP ,数据库名称,表名称,数据库主机等信息是我们本地的,要使得这个操作数据的模块具有通用性,那么以上信息就不能写死在程序里。通常我们的做法是用配置文件来解决。 各种语言都有自己所支持的配置文件类型。比如Python ,他支持.ini 文件。因为他内部有一个ConfigParser 类来支持.ini 文件的读写,根据该类提供的方法程序员可以自由的来操作.ini 文件。而在Java 中,Java 支持的是.properties 文件的读写。JDK 内置的java.util.Properties 类为我们操作.properties 文件提供了便利。 【Java_Properties_类读取配置文件信息】 在软件开发中,配置文件是必不可少的,因为它们允许我们灵活地管理程序中的可变参数,而无需修改源代码。Java 支持使用 `.properties` 文件作为其标准配置文件格式,这得益于 `java.util.Properties` 类的内置支持。这个类提供了一系列方法,方便我们在程序中读取和写入配置信息。 一、`.properties` 文件形式 `.properties` 文件是一个纯文本文件,通常包含键值对,用于存储配置信息。文件中的注释以 `#` 开头。例如: ``` # 服务器、数据库信息 dbPort = localhost databaseName = mydb dbUserName = root dbPassword = root # 数据库表信息 dbTable = mytable # 服务器信息 ip = 192.168.0.9 ``` 在这个示例中,`dbPort`、`databaseName` 等是键,`localhost`、`mydb` 等是对应的值。键值对之间通过等号 `=` 分隔,而注释则用于解释配置项。 二、`Properties` 类介绍 `Properties` 类是 `Hashtable` 类的子类,提供了以下核心方法: 1. `getProperty(String key)`:根据给定的键 `key` 查找对应的值,返回字符串类型。如果找不到,则返回 `null`。 2. `load(InputStream inStream)`:从指定的输入流 `inStream` 加载属性列表。通常,我们使用 `FileInputStream` 读取 `.properties` 文件内容,并调用 `load()` 方法将其加载到 `Properties` 对象中。 3. `setProperty(String key, String value)`:设置键值对,相当于 `Hashtable` 的 `put()` 方法。 4. `store(OutputStream out, String comments)`:将 `Properties` 对象中的属性列表写入输出流 `out`,并可选地添加一个 `comments` 参数作为文件头部的注释。 5. `clear()`:删除所有键值对,清空 `Properties` 对象。 三、代码实例 下面是一个简单的示例,演示如何使用 `Properties` 类读取和写入 `.properties` 文件: ```java package configuration; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.util.Properties; public class Configuration { private Properties propertie; private FileInputStream inputFile; private FileOutputStream outputFile; // 初始化 Configuration 类 public Configuration() { propertie = new Properties(); } // 初始化 Configuration 类,传入配置文件路径 public Configuration(String filePath) { propertie = new Properties(); try { inputFile = new FileInputStream(filePath); propertie.load(inputFile); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { if (inputFile != null) { inputFile.close(); } } catch (IOException e) { e.printStackTrace(); } } } // 读取配置项 public String getPropertyValue(String key) { return propertie.getProperty(key); } // 更新配置项 public void updateProperty(String key, String value) { propertie.setProperty(key, value); } // 保存配置到文件 public void saveProperties(String filePath) { try { outputFile = new FileOutputStream(filePath); propertie.store(outputFile, "Configuration updated"); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } finally { try { if (outputFile != null) { outputFile.close(); } } catch (IOException e) { e.printStackTrace(); } } } } ``` 在这个示例中,`Configuration` 类包含了加载、读取、更新和保存配置文件的功能。你可以创建一个 `Configuration` 实例,传入配置文件的路径,然后通过 `getPropertyValue()` 获取配置项,使用 `updateProperty()` 更新配置项,最后通过 `saveProperties()` 将更改保存回文件。 总结来说,`Properties` 类是 Java 中处理 `.properties` 配置文件的关键工具,它提供了方便的接口,让我们能够轻松地在程序中管理和操作配置信息。这使得 Java 应用程序能够适应不同环境,提升灵活性和可维护性。
剩余6页未读,继续阅读
- zirencheng2013-06-06还可以,里面有些东西值得参考
- xtbda2014-03-13很好,可以使用。
- 爱得坦荡荡2013-06-17我需要的内容还更简单,看看也是有启发的。
- 粉丝: 0
- 资源: 6
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助