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

不多言,小二上码咯。。。

CSV文件读取源代码如下所示,敬请参阅!

     /**
* @function Read File: CSV
*
* @author Aaron.ffp
* @version V1.0.0: autoUISelenium main.java.aaron.java.tools FileUtils.java csvRead, 2014-11-25 15:55:52 Exp $
*
* @param filename : CSV file
* @param delimiter : content split char
* @param encoding : file encoding
*
* @return ArrayList<String[]> file content
*/
public ArrayList<String[]> csvRead(String filename, char delimiter, String encoding){
ArrayList<String[]> csvdata = new ArrayList<String[]>(); // CSV 数据
CsvReader csvreader = null; /* 参数校验: 为null或空字符串时, 抛出参数非法异常 */
if (filename == null || "".equals(filename) || !assertFileType(filename, "CSV")) {
throw new IllegalArgumentException();
} /* 分隔符默认处理, 若分割符号为空, 则默认 ‘,’ */
if ("".equals(delimiter)) {
delimiter = ',';
} try {
csvreader = new CsvReader(filename, delimiter, Charset.forName(encoding)); /* 跳过表头, 若是需要表头则注释词句即可 */
// csvreader.readHeaders(); while (csvreader.readRecord()) {
csvdata.add(csvreader.getValues());
}
} catch (IOException ioe) {
this.message = "文件 {" + filename + "} 读取失败!";
this.logger.error(this.message, ioe); return null;
} return csvdata;
}

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(); // you should change this to local file 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);
} // init csv file data
boolean w = this.fu.csvWrite(filename, ',', "UTF-8", csvdata); // get actual data and compare data
boolean r = this.fu.csvRead(filename, ',', "UTF-8").get(2)[2].toString().equals("2 = 2"); Assert.assertEquals(w, r, "Test case failed.");
}

CSV文件读取测试源码

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

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

Java学习-016-CSV 文件读取实例源代码的更多相关文章

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

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

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

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

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

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

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

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

  5. Java学习-015-CSV 文件写入实例源代码

    在日常的自动化测试脚本编写的过程中,有时要将获取的测试结果或者测试数据存放在数据文件中,以用作后续的参数化测试.常用的文件文件类型无非 txt.csv.xls.properties.xml 这五种文件 ...

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

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

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

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

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

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

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

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

随机推荐

  1. [Unity2D]预制件Prefab

    预制件Prefab是一个组件模板,比如在游戏里面要实现开枪的时候会有子弹不停地从枪口飞出来,那么就可以通过Prefab来实现子弹的游戏对象,表示所有的子弹都是从同一个Prefab来构建出来的,也可以理 ...

  2. POJ 1925 Spiderman(DP)

    题目链接 这个破题,好不容易思路清楚了,写的就是过不了..关键部分直接抄的别人的...终于A了,自己写的判断什么的,就是有一组数据过不了. #include <cstdio> #inclu ...

  3. 原来还有这样的记词方法_Java版记不规则动词_博主推荐

    昨天在看一本英语书的不规则动词的时候,突然产生的灵感:就是想把这样记单词简单方式,用程序代码实现,然后,使用户可以与之进行交互 这样,在用户背不规则动词的时候就会轻松把它给记住.基于这一点,于是我就思 ...

  4. 泛型,动态创建List<T> (转摘)

    第一种: static void Main()        {            object intList = MakeList(typeof(int), 1, 2, 3);         ...

  5. HTML5 video 视频标签全属性详解

    现在如果要在页面中使用video标签,需要考虑三种情况,支持Ogg Theora或者VP8(如果这玩意儿没出事的话)的(Opera.Mozilla.Chrome),支持H.264的(Safari.IE ...

  6. DS实验题 sights

    算法与数据结构实验题 6.3 sights ★实验任务 美丽的小风姑娘打算去旅游散心,她走进了一座山,发现这座山有 n 个景点, 由于山路难修,所以施工队只修了最少条的路,来保证 n 个景点联通,娇弱 ...

  7. 关于0x000000c2问题解决方法

    首先大家要用进入PE系统,按照我说的顺序做就可以解决了! 1,进入PE后找到系统盘,默认一般为C盘-->进入WINDOWS文件夹-->进入system32文件夹-->找到regedt ...

  8. HTML: margin重疊現象的說明

    2句話: ①相鄰的兩個普通元素,上下邊距,不是簡單的相加,而是取邊距較大的元素(若相邻的两个普通兄弟元素,它们的margin 值是一样的,则各取两个元素的margin 值的一半.)②关系为父子的两个d ...

  9. convert from base 10 to base 2

    COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION Hence, we convert fro ...

  10. Java Map遍历方式的选择

    [原文] 1. 阐述 对于Java中Map的遍历方式,很多文章都推荐使用entrySet,认为其比keySet的效率高很多.理由是:entrySet方法一次拿到所有key和value的集合:而keyS ...