Java学习-019-Properties 文件读取实例源代码
在这几天的学习过程中,有开发的朋友告知我,每个编程语言基本都有相应的配置文件支持类,像 Python 编程语言中支持的 ini 文件及其对应的配置文件读取类 ConfigParse,通过这个类,用户可以方便的修改 ini 配置文件。在 Java 中对应的配置文件为 properties 格式的文本文件,其对应的内容格式为 “键=值” ,文本注释信息可以用 “#” 注释。同时 Java 语言中对应的类为 Properties(java.util.Properties),即为读取 properties 文件的类,继承于 Hashtable (如下所示),用户使用这个类可以很方便的操作 properties 文件。
aaarticlea/png;base64,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" alt="" width="779" height="410" />
下面首先看一下其对应的结果主要方法,如下所示:
1、getProperty(String key),用指定的键在此属性列表中搜索属性。即通过参数 key 得到所对应的 value。
2、load(InputStream inStream),从输入流中读取属性列表(键和元素对)。通过对指定的文件进行装载来获取该文件中的所有键值对。
3、setProperty(String key, String value),调用 Hashtable 的方法 put 。他通过调用基类的put方法来设置键-值对。
4、store(OutputStream out, String comments),以适合使用 load 方法加载到 Properties 表中的格式,将此 Properties 表中的属性列表(键和元素对)写入输出流。与 load 方法相反,该方法将键 - 值对写入到指定的文件中去。
5、clear(),清除所有装载的 键 - 值对。该方法在基类中提供。
下面通过针对 Properties 配置文件的读取进行实例代码演示,以加深对 Properties 类的理解。
小二上码。。。
以下为原始的 properties 文件内容:
# oracle config
db_type=oracle
driver=oracle.jdbc.driver.OracleDriver
host=127.0.0.1
port=1521
database=test
user=aaron
pass=ffp
sql=select * from hr t where t.no = '1521'
desc=oracle\u6570\u636E\u5E93\u8FDE\u63A5\u914D\u7F6E
PropertiesRead.properties 文件内容
properties 配置文件方法的源码(返回 Properties):
/**
* @function 文件读取: properties 文件
* @description PS:注意读取中文时的乱码处理
*
* @author Aaron.ffp
* @version V1.0.0: autoUISelenium main.java.aaron.java.tools FileUtils.java propertiesRead, 2014-11-20 16:29:09 Exp $
*
* @param filename 文件路径
* @return Properties
*/
public Properties propertiesRead(String filename){
Properties properties = new Properties(); /* 参数校验: 为null或空字符串时, 抛出参数非法异常 */
if (filename == null || "".equals(filename) || !assertFileType(filename, "PROPERTIES")) {
throw new IllegalArgumentException();
} try {
/* 获取文件数据流 */
InputStream is = new FileInputStream(filename);
/* 加载文件数据流 */
properties.load(is);
/* 关闭文件数据流 */
is.close();
} catch (IOException ioe) {
this.message = "文件 {" + filename + "} 读取失败!";
this.logger.error(this.message, ioe);
} return properties;
}
Java 类 Properties 读取 properties 配置文件方法源码
测试方法源码:
/**
* Test : properties read for txt file
*
* @author Aaron.ffp
* @version V1.0.0: autoUISelenium test.java.aaron.java.tools FileUtilsTest.java test_propertiesRead, 2014-11-20 16:35:09 Exp $
*
*/
public void test_propertiesRead(){
this.message = "\n\n\nTEST:FileUtils.propertiesRead(String filename)";
this.logger.debug(this.message); this.fu = new FileUtils();
String filename = this.constantslist.PROJECTHOME + this.constantslist.FILESEPARATOR +
"testng-temp" + this.constantslist.FILESEPARATOR + "propertiesRead.properties"; Properties prop = this.fu.propertiesRead(filename); // get keys from properties
Enumeration<?> enu = prop.propertyNames(); // print-1
prop.list(System.out); System.out.println("\n\n"); // print-2
String key = "";
while (enu.hasMoreElements()) {
key = (String)enu.nextElement();
System.out.println(key + " = " + prop.getProperty(key));
}
}
Java 类 Properties 读取 properties 配置类文件方法测试源码
程序运行结果如下所示:
aaarticlea/png;base64,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" alt="" width="670" height="431" />
PS:若需使用此文中的源码,需要将 properties 文件中的内容保存至本地,并将测试方法源码中的文件路径改为本地路径,同时对上述源码进行适当修改才可成功运行,请知悉!
至此, Java学习-019-Properties 文件读取实例源代码 顺利完结,希望此文能够给初学 Java 的您一份参考。
最后,非常感谢亲的驻足,希望此文能对亲有所帮助。热烈欢迎亲一起探讨,共同进步。非常感谢! ^_^
Java学习-019-Properties 文件读取实例源代码的更多相关文章
- Java学习-013-文本文件读取实例源代码(两种数据返回格式)
此文源码主要为应用 Java 读取文本文件内容实例的源代码.若有不足之处,敬请大神指正,不胜感激! 1.读取的文本文件内容以一维数组[LinkedList<String>]的形式返回,源代 ...
- Java学习-014-文本文件写入实例源代码(两种写入方式)
此文源码主要为应用 Java 读取文本文件内容实例的源代码.若有不足之处,敬请大神指正,不胜感激! 第一种:文本文件写入,若文件存在则删除原文件,并重新创建文件.源代码如下所示: /** * @fun ...
- Java学习-017-EXCEL 文件读取实例源代码
众所周知,EXCEL 也是软件测试开发过程中,常用的数据文件导入导出时的类型文件之一,此文主要讲述如何通过 EXCEL 文件中 Sheet 的索引(index)或者 Sheet 名称获取文件中对应 S ...
- Java学习-016-CSV 文件读取实例源代码
上文(CSV文件写入)讲述了日常自动化测试过程中将测试数据写入 CSV 文件的源码,此文主要讲述如何从 CSV 文件获取测试过程中所需的参数化数据.敬请各位小主参阅,若有不足之处,敬请大神指正,不胜感 ...
- Java代码操作properties文件(读取,新增/修改,删除)
项目中需要用到操作properties文件中的数据,记录一下 package com.bonc.savepic.save; import java.io.FileNotFoundException; ...
- Java学习-015-CSV 文件写入实例源代码
在日常的自动化测试脚本编写的过程中,有时要将获取的测试结果或者测试数据存放在数据文件中,以用作后续的参数化测试.常用的文件文件类型无非 txt.csv.xls.properties.xml 这五种文件 ...
- Java学习-018-EXCEL 文件写入实例源代码
众所周知,EXCEL 也是软件测试开发过程中,常用的数据文件导入导出时的类型文件之一,此文主要讲述如何通过 EXCEL 文件中 Sheet 的索引(index)或者 Sheet 名称获取文件中对应 S ...
- Java学习-011-创建文件实例及源代码
此文源码主要为应用 Java 创建文件的源代码.若有不足之处,敬请大神指正,不胜感激! 创建文件的源代码如下所示: /** * @function 文件操作:创建文件.若文件不存在,则直接创建文件:若 ...
- Java学习-010-创建文件夹源代码
此文源码主要为应用 Java 创建文件目录的源码.若有不足之处,敬请大神指正,不胜感激! 创建文件夹源代码如下所示: /** * @function 文件操作:创建文件夹.若文件夹不存在,则级联创建文 ...
随机推荐
- 【BZOJ】1798: [Ahoi2009]Seq 维护序列seq(线段树)
http://www.lydsy.com/JudgeOnline/problem.php?id=1798 之前写了个快速乘..........................20多s...... 还好 ...
- 彻底卸载oracle数据库
有时候因为各种各样的原因,我们不得不重装Oracle,但按照一般的操作,很多朋友用了oracle的删除,然后,你会发现重新安装时,点了下一步安装界面就消失了.事实证明,万能的重启也是解决不了问题的.往 ...
- 清除 WD MyCloud 自动生成的 .wdmc 目录
1. 先 SSH,停止相应服务 /etc/init.d/wdmcserverd stop/etc/init.d/wdphotodbmergerd stop 2. 禁止服务自启动 update-rc.d ...
- Beetl2.2使用说明书20151201
李家智<xiandafu@126.com> Table of Contents 1. 什么是Beetl 2. 基本用法 2.1. 从GroupTemplate开始 2.2. 模板基础配置 ...
- metasploit--payload模块信息
Name Disclosure Date Rank Description ---- ...
- etcd学习记录
参考资料: etcd:从应用场景到实现原理的全方位解读 etcd:用于服务发现的键值存储系统 Etcd学习(一)安装和.NET客户端测试 Etcd学习(二)集群搭建Clustering
- uitextfield输入字符限制
-(UITextField*)createField:(NSString*)placeholder andTag:(int)tag andFont:(double)font{ UITextField ...
- boolalpha
/* 功能: 把bool值显示为true或false */ #include<iostream> using namespace std; int main() { char str1[] ...
- python 动态加载module、class、function
python作为一种动态解释型语言,在实现各种框架方面具有很大的灵活性. 最近在研究python web框架,发现各种框架中需要显示的定义各种路由和Handler的映射,如果想要实现并维护复杂的web ...
- web前端性能概述
1.认识前端性能 不管你的网站设计的有多好,后端有多好,对于用户来说全部都是无感知的,用户只关心页面打开的速度,而前端性能表现很大程度上影响着用户的这种感知. 改善前端的性能对用户感知的整体性能提升有 ...