Java 操作Properties配置文件详解
Java 操作Properties配置文件详解 Properties 类是 Java 中的一个基本类,用于处理配置文件,今天我们来详细介绍 Java 操作 Properties 配置文件的详解。 Properties 类简介 Properties 类继承自 Hashtable 类并且实现了 Map 接口,是使用一种键值对的形式来保存属性集,其中键和值都是字符串类型。Properties 类提供了 getProperty() 和 setProperty() 方法来操作属性文件,同时使用 load() 方法和 store() 方法加载和保存 Properties 配置文件。 Properties 中的主要方法 1. load(InputStream inStream) 方法 该方法可以从.properties 属性文件对应的文件流中,加载属性列表到 Properties 类对象中。load 方法有两个重载:load(InputStream inStream) 和 load(Reader reader),可根据不同的方式来加载属性文件。 例如: ```java InputStream inStream = TestProperties.class.getClassLoader().getResourceAsStream("demo.properties"); Properties pro = new Properties(); pro.load(inStream); inStream.close(); ``` 2. store(OutputStream out, String comments) 方法 这个方法将 Properties 类对象的属性列表写入.properties 配置文件。 例如: ```java FileOutputStream outStream = new FileOutputStream("demo.properties"); Properties pro = new Properties(); pro.store(outStream, "Comment"); outStream.close(); ``` ResourceBundle 类 ResourceBundle 类是 Java 中的一个抽象类,提供了读取 Properties 配置文件的方法。可以使用 ResourceBundle.getBundle() 静态方法来获取 Properties 属性文件,不需要加.properties 后缀名。 例如: ```java ResourceBundle resource = ResourceBundle.getBundle("com/xiang/demo"); String value = resource.getString("name"); ``` 也可以从 InputStream 中获取 ResourceBundle 对象。 例如: ```java InputStream inStream = new FileInputStream("demo.properties"); ResourceBundle resource1 = new PropertyResourceBundle(inStream); String value = resource1.getString("name"); ``` Properties 操作实例 下面是一个 Properties 操作的实例: ```java import java.io.File; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.util.Properties; public class TestProperties { public static void main(String[] args) { Properties pro = new Properties(); try { InputStream inStream = new FileInputStream("demo.properties"); pro.load(inStream); inStream.close(); // 设置属性 pro.setProperty("name", "John"); pro.setProperty("age", "25"); // 保存属性 FileOutputStream outStream = new FileOutputStream("demo.properties"); pro.store(outStream, "Comment"); outStream.close(); } catch (FileNotFoundException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } } ``` 配置文件的路径问题 在使用 Properties 配置文件时,可能会遇到配置文件的路径问题。当配置文件不在当前类所在的包下,则需要使用包名限定;若属性文件在 src 根目录下,则直接使用 demo.properties 或 demo 即可。 例如: ```java ResourceBundle resource = ResourceBundle.getBundle("com/xiang/demo"); ``` 或 ```java ResourceBundle resource = ResourceBundle.getBundle("demo"); ``` 因此,在使用 Properties 配置文件时,需要注意配置文件的路径问题,以免出现错误。
- 粉丝: 2
- 资源: 889
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- (源码)基于Spring Boot框架的博客系统.zip
- (源码)基于Spring Boot框架的博客管理系统.zip
- (源码)基于ESP8266和Blynk的IR设备控制系统.zip
- (源码)基于Java和JSP的校园论坛系统.zip
- (源码)基于ROS Kinetic框架的AGV激光雷达导航与SLAM系统.zip
- (源码)基于PythonDjango框架的资产管理系统.zip
- (源码)基于计算机系统原理与Arduino技术的学习平台.zip
- (源码)基于SSM框架的大学消息通知系统服务端.zip
- (源码)基于Java Servlet的学生信息管理系统.zip
- (源码)基于Qt和AVR的FestosMechatronics系统终端.zip