java读取properties

### Java读取Properties知识点详解 在Java开发过程中,配置文件管理是极其重要的环节之一。其中,使用`java.util.Properties`类来读取`.properties`文件是一种常见且实用的方法。下面将详细阐述如何利用Java来读取`properties`文件,并解析其中的关键代码。 #### Properties类简介 `java.util.Properties`类本质上继承自`Hashtable`类,主要用于处理键值对形式的数据存储,这些键和值通常都是字符串类型。由于其简单易用且灵活的特点,在实际项目中常被用来处理各种配置信息。 #### 关键步骤解析 根据提供的部分代码片段,我们可以清晰地看到整个流程分为以下几个关键步骤: ##### 1. 加载配置文件 在静态初始化块中加载`properties`文件。这里采用的是从类路径中获取资源的方式,即通过类加载器来定位并加载配置文件。 ```java static { InputStream in = getProperties.class.getClassLoader().getResourceAsStream("config.properties"); config = new Properties(); try { config.load(in); in.close(); } catch (IOException e) { System.out.println("No AreaPhone.properties defined error"); } } ``` **解析:** - `getProperties.class.getClassLoader()`:此行代码用于获取当前类(`getProperties`)的类加载器。 - `getResourceAsStream("config.properties")`:通过类加载器获取名为`config.properties`的资源流。 - `config.load(in)`:使用`InputStream`加载`properties`文件到`Properties`对象中。 - `in.close()`:关闭输入流以释放系统资源。 ##### 2. 读取单个配置项 提供了一个静态方法`readValue(String key)`来读取指定键的值。 ```java public static String readValue(String key) { try { String value = config.getProperty(key); return value; } catch (Exception e) { e.printStackTrace(); System.err.println("ConfigInfoError" + e.toString()); return null; } } ``` **解析:** - `config.getProperty(key)`:通过键获取对应的值。 - 异常处理:捕获异常,并打印错误信息及堆栈跟踪。 ##### 3. 读取所有配置项 提供一个静态方法`readAllProperties()`来遍历并打印所有的配置项及其对应的值。 ```java public static void readAllProperties() { try { Enumeration en = config.propertyNames(); while (en.hasMoreElements()) { String key = (String) en.nextElement(); String Property = config.getProperty(key); System.out.println(key + Property); } } catch (Exception e) { e.printStackTrace(); } } ``` **解析:** - `config.propertyNames()`:返回一个枚举对象,包含所有配置项的名称。 - `hasMoreElements()` 和 `nextElement()`:用于遍历枚举对象中的所有元素。 #### 总结 通过以上步骤,我们可以清楚地了解到如何使用Java读取`properties`文件并处理其中的配置信息。这种方式不仅简单易用,而且能够有效地管理和维护项目的配置数据,极大地提高了开发效率和项目的可维护性。此外,针对异常处理的考虑也确保了程序的健壮性和稳定性。




























- zkjstar2013-08-12可以用,多谢了

- 粉丝: 4
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 大数据视角下网络新媒体内容价值链构建策略研究.docx
- 大数据时代背景下档案管理工作探析.docx
- 基于无线传感器控制网络的空气环境监测系统设计与实现.docx
- 中职计算机平面设计课堂教学模式的创新.docx
- 企业如何进行量化项目管理.docx
- 全国教育信息化工作现场研讨会聚焦湖南经验I共9则l.docx
- 抛物线型体零件艺分析研究与编程.doc
- 审计监督在城市建设项目管理中的应用分析.docx
- Flet框架实现的带彩色图标轮廓按钮示例猜拳游戏自定义模板
- 移动时代图书馆阅读推广基于互联网+的探索.docx
- 单片机原理及应用实验指导说明书(红色板).doc
- 启程自动化培训机构每日一题之案例解析一.doc
- 通信行业职业定位及发展课程考试.ppt
- 公司人事表格(Excel表格通用模板).xls
- 项目管理感触最难做的就是项目经理.doc
- Android推箱子游戏程序方案设计书.doc


