java读取csv文件并解析

这里使用到一个jar包,javacsv-2.1.jar包提供一个类可以直接读取文件,转成对象csvReader。
代码如下:

public static void parCsvFile(File csvfile) throws Exception {
String filePath = “H:\20191024_162155.csv”; // 创建CSV读对象
File file = new File(filePath);
BufferedReader br = new BufferedReader(new InputStreamReader(
new FileInputStream(file), “GBK”));
CsvReader csvReader = null;
try {
csvReader = new CsvReader(br);
} catch (Exception e) {
e.printStackTrace();
}
// 读表头
csvReader.readHeaders();

	int nullrow = 0;// 记录为空行的记录
	int ylxh = 0;// 记录用例在套件中的序号
	int bzxh = 1;// 记录执行步骤在用例序号
	String zxjgbs = null;// 用例报告标识
	while (csvReader.readRecord()) {
		boolean isyl = true;
		int current = (int) csvReader.getCurrentRecord();// 当前行记录
		// 保存测试套件
		if (current == 0) {
			System.out.println("开始记录测试套件信息");
			System.out.println("Name:"
					+ csvReader.get("Suite/Test/Step Name"));
			System.out.println("Browser:" + csvReader.get("Browser"));
			System.out.println("Description:"
					+ csvReader.get("Description"));
			System.out.println("Tag:" + csvReader.get("Tag"));
			System.out.println("Start time:" + csvReader.get("Start time"));
			System.out.println("End time:" + csvReader.get("End time"));
			System.out.println("Duration:" + csvReader.get("Duration"));
			System.out.println("Status:" + csvReader.get("Status"));
			System.out.println("该套件:"
					+ csvReader.get("Suite/Test/Step Name") + "信息保存成功!");
		}
		// 空行
		if (StringUtils.isEmpty(csvReader.get("Suite/Test/Step Name"))) {
			isyl = false;
			nullrow = (int) csvReader.getCurrentRecord();
			System.out.println("数据行号:" + (csvReader.getCurrentRecord() + 2)
					+ "是空行——————————————————————————");
			// 是用例,并且上一行为空行,为测试用例第一行
			// 保存测试用例
		} else if (isyl && current - nullrow == 1 && current != 0) {
			bzxh = 1;
			ylxh++;

			System.out.println("开始记录用例");
			System.out.println("Name:"
					+ csvReader.get("Suite/Test/Step Name"));
			System.out.println("Browser:" + csvReader.get("Browser"));
			System.out.println("Description:"
					+ csvReader.get("Description"));
			System.out.println("Tag:" + csvReader.get("Tag"));
			System.out.println("Start time:" + csvReader.get("Start time"));
			System.out.println("Duration:" + csvReader.get("Duration"));
			System.out.println("Status:" + csvReader.get("Status"));
			System.out.println("该用例:"
					+ csvReader.get("Suite/Test/Step Name") + "信息保存成功!");

		} else
		// 是用例 ,并且不是第一行,则当前行为用例步骤
		if (isyl && current != 0) {
			bzxh++;

			// 保存这个测试用例的步骤
			System.out
					.println("------------------------------------------");
			System.out.println("开始记录用例步骤:");
			System.out.println("Name:"
					+ csvReader.get("Suite/Test/Step Name"));
			System.out.println("Browser:" + csvReader.get("Browser"));
			System.out.println("Description:"
					+ csvReader.get("Description"));
			System.out.println("Tag:" + csvReader.get("Tag"));
			System.out.println("Start time:" + csvReader.get("Start time"));
			System.out.println("Duration:" + csvReader.get("Duration"));
			System.out.println("Status:" + csvReader.get("Status"));
			System.out.println("" + csvReader.get("Suite/Test/Step Name")
					+ "步骤保存成功!");
			System.out.println("--------------------------------");
		}

	}
	ylxh = 1;
	bzxh = 1;
	csvfile.deleteOnExit();
}

读取的csv文件内容如下:
在这里插入图片描述

发布了9 篇原创文章 · 获赞 2 · 访问量 711
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 大白 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览