在日常的自动化测试脚本编写的过程中,有时要将获取的测试结果或者测试数据存放在数据文件中,以用作后续的参数化测试。常用的文件文件类型无非 txt、csv、xls、properties、xml 这五种文件类型,前文已讲述过了txt文件相关的读写操作(),此文主要讲述 CSV 文件的写入操作。此文中 CSV 文件的写入方法和最终的测试方法,各位小主们在实际参考应用时,需要进行相应的修改(例如文件路径等)才可。若有不足之处,敬请各位大神告知,不胜感激!

闲话少述,小二上码勒

CSV文件写入方法源码如下所示,敬请参阅!

     /**
* @function 文件写入: CSV文件
*
* @author Aaron.ffp
* @version V1.0.0: autoUISelenium main.java.aaron.java.tools FileUtils.java csvWrite, 2014-11-25 15:58:20 Exp $
*
* @param filename : CSV文件名
* @param delimiter : CSV文件分隔符
* @param encoding : CSV文件编码格式
* @param csvdata : CSV文件内容, 二维数组
*
* @return boolean
*/
public boolean csvWrite(String filename, char delimiter, String encoding, ArrayList<String[]> csvdata){
boolean success = false; /* csv写对象 */
CsvWriter csvwriter = null; /* 参数校验: 为null或空字符串时, 抛出参数非法异常 */
if (filename == null || "".equals(filename) || !assertFileType(filename, "CSV")) {
throw new IllegalArgumentException();
} /* 分隔符默认处理, 若分割符号为空, 则默认 ‘,’ */
if ("".equals(delimiter)) {
delimiter = ',';
} /* 参数校验: 编码格式是否在格式范围内 */
if(!this.constantslist.ENCODING_TYPE.contains(encoding)){
this.message = "参数非法:第三个参数{CSV编码}非法, 编码格式{" + encoding + "}不在CSV文件编码列表[" + this.constantslist.ENCODING_TYPE.toString() + "]中, 不支持!";
this.logger.error(this.message); throw new UnsupportedCharsetException(this.message);
} try {
// delete file
this.deleteFile(filename); csvwriter = new CsvWriter(filename, delimiter, Charset.forName(encoding)); /* 数据写入 */
for (String[] rowdata : csvdata) {
csvwriter.writeRecord(rowdata);
} csvwriter.close(); success = true;
} catch (IOException ioe) {
this.message = "文件 {" + filename + "} 写入失败!";
this.logger.error(this.message, ioe); success = false;
} catch (UnsupportedCharsetException uce){
this.message = "文件 {" + filename + "} 编码格式设置失败!";
this.logger.error(this.message, uce); success = false;
} return success;
}

CSV 文件写入方法源码

CSV文件写入方法测试源码如下所示,敬请参阅!

     /**
* Test : read|write CSV file
*
* @author Aaron.ffp
* @version V1.0.0: autoUISelenium test.java.aaron.java.tools FileUtilsTest.java test_csvWrite_and_csvRead, 2014-11-25 16:28:20 Exp $
*
*/
@Test
public void test_csvWrite_and_csvRead(){
this.message = "\n\n\nTEST:FileUtils.csvWrite(String filename, char delimiter, String encoding, ArrayList<String[]> csvdata)";
this.logger.debug(this.message); this.fu = new FileUtils(); // change to you local path
String filename = this.constantslist.PROJECTHOME + this.constantslist.FILESEPARATOR +
"testng-temp" + this.constantslist.FILESEPARATOR + "createfile.csv"; ArrayList<String[]> csvdata = new ArrayList<String[]>();
String[] rows; // init csv data
for (int i = 0; i < 20; i++) {
rows = new String[10]; for (int j = 0; j < rows.length; j++) {
rows[j] = i + " = " + j;
} csvdata.add(rows);
} boolean w = this.fu.csvWrite(filename, ',', "UTF-8", csvdata); Assert.assertEquals(w, true, "Test case failed.");
}

CSV 文件写入方法测试源码

至此, Java学习-015-CSV 文件写入实例源代码 顺利完结,希望此文能够给初学 Java 的您一份参考。

最后,非常感谢亲的驻足,希望此文能对亲有所帮助。热烈欢迎亲一起探讨,共同进步。非常感谢! ^_^

Java学习-015-CSV 文件写入实例源代码的更多相关文章

  1. Java学习-014-文本文件写入实例源代码(两种写入方式)

    此文源码主要为应用 Java 读取文本文件内容实例的源代码.若有不足之处,敬请大神指正,不胜感激! 第一种:文本文件写入,若文件存在则删除原文件,并重新创建文件.源代码如下所示: /** * @fun ...

  2. Java学习-013-文本文件读取实例源代码(两种数据返回格式)

    此文源码主要为应用 Java 读取文本文件内容实例的源代码.若有不足之处,敬请大神指正,不胜感激! 1.读取的文本文件内容以一维数组[LinkedList<String>]的形式返回,源代 ...

  3. Java学习-018-EXCEL 文件写入实例源代码

    众所周知,EXCEL 也是软件测试开发过程中,常用的数据文件导入导出时的类型文件之一,此文主要讲述如何通过 EXCEL 文件中 Sheet 的索引(index)或者 Sheet 名称获取文件中对应 S ...

  4. Java学习-016-CSV 文件读取实例源代码

    上文(CSV文件写入)讲述了日常自动化测试过程中将测试数据写入 CSV 文件的源码,此文主要讲述如何从 CSV 文件获取测试过程中所需的参数化数据.敬请各位小主参阅,若有不足之处,敬请大神指正,不胜感 ...

  5. Java学习-019-Properties 文件读取实例源代码

    在这几天的学习过程中,有开发的朋友告知我,每个编程语言基本都有相应的配置文件支持类,像 Python 编程语言中支持的 ini 文件及其对应的配置文件读取类 ConfigParse,通过这个类,用户可 ...

  6. Java学习-011-创建文件实例及源代码

    此文源码主要为应用 Java 创建文件的源代码.若有不足之处,敬请大神指正,不胜感激! 创建文件的源代码如下所示: /** * @function 文件操作:创建文件.若文件不存在,则直接创建文件:若 ...

  7. Java学习-017-EXCEL 文件读取实例源代码

    众所周知,EXCEL 也是软件测试开发过程中,常用的数据文件导入导出时的类型文件之一,此文主要讲述如何通过 EXCEL 文件中 Sheet 的索引(index)或者 Sheet 名称获取文件中对应 S ...

  8. Java学习-010-创建文件夹源代码

    此文源码主要为应用 Java 创建文件目录的源码.若有不足之处,敬请大神指正,不胜感激! 创建文件夹源代码如下所示: /** * @function 文件操作:创建文件夹.若文件夹不存在,则级联创建文 ...

  9. Java学习-008-判断文件类型实例

    此文源码主要为应用 Java 如何判断文件类型的源码及其测试源码.若有不足之处,敬请大神指正,不胜感激!源代码测试通过日期为:2015-2-2 23:02:00,请知悉. Java 判断文件类型源码如 ...

随机推荐

  1. 调用WebServiceWebService提示The maximum string content length quota (8192) has been exceeded while reading XML data的解决办法

    在web.config中,bindings节点下,对应的服务名称中,原本可能是自动折叠的“/>”,需要改成手动折叠的</binding>,然后在中间加上<readerQuota ...

  2. [BZOJ 3759]Hungergame

    Nim游戏获胜的条件是所有石子的异或和为0 如果先手要获胜,那么一定是打开了一个异或和为0的极大子集 什么是极大子集呢? 就是无论后手打开任何子集的箱子,都不能再使此时打开的箱子异或和为0. 容易证明 ...

  3. BZOJ4408: [Fj Winter Camp 2016]神秘数

    Description 一个可重复数字集合S的神秘数定义为最小的不能被S的子集的和表示的正整数.例如S={1,1,1,4,13}, 1 = 1 2 = 1+1 3 = 1+1+1 4 = 4 5 = ...

  4. hiho#1145 : 幻想乡的日常

    描述 幻想乡一共有n处居所,编号从1到n.这些居所被n-1条边连起来,形成了一个树形的结构. 每处居所都居住着一个小精灵.每天小精灵们都会选出一个区间[l,r],居所编号在这个区间内的小精灵一起来完成 ...

  5. COJ966 WZJ的数据结构(负三十四)

    WZJ的数据结构(负三十四) 难度级别:C: 运行时间限制:20000ms: 运行空间限制:262144KB: 代码长度限制:2000000B 试题描述 给一棵n个节点的树,请对于形如"u  ...

  6. Android之adb异常

    Android使用adb模拟器时出现"unable to establish connection to adb"."ADB server didn't ACK" ...

  7. DELPHI的split函数的各种实现方法(转)

    一.单字符 function split(s,s1:string):TStringList;beginResult:=TStringList.Create;while Pos(s1,s)>0 d ...

  8. jsp 将html字符串输出html标签

    第一种: <% out.println("<table><tr><td></td></tr></table>&q ...

  9. Spark中加载本地(或者hdfs)文件以及SparkContext实例的textFile使用

    默认是从hdfs读取文件,也可以指定sc.textFile("路径").在路径前面加上hdfs://表示从hdfs文件系统上读 本地文件读取 sc.textFile("路 ...

  10. _jobdu_1002

    /************************************************************************/ /* 题目1002:Grading 时间限制:1 ...