前置条件.需要到网上下载javacsv.jar,然后将其放入apache-jmeter\lib目录,下载地址:https://mvnrepository.com/,搜索javacsv即可
1.常用方法
//获取当前记录位置
reader.getCurrentRecord() ;
//读取一行记录
String RawRecord = reader.getRawRecord();
//获取当前行的值,数组格式
String [] value = reader.getValues() ;
// 读这行的某一列,通过表头获取
String var = csvReader.get("列名");
//读这行的某一列 ,通过下标获取
String var = csvReader.get(0);
// 写表头
String[] csvHeaders = { "编号", "姓名", "年龄" };
csvWriter.writeRecord(csvHeaders);
// 写内容
String[] csvContent = {"001","小米","18" };
csvWriter.writeRecord(csvContent);
2.写CSV文件
import com.csvreader.CsvReader;
import com.csvreader.CsvWriter;
import java.nio.charset.Charset;
// 定义一个CSV路径
String csvFilePath = "D://StemQ.csv";
// 创建CSV写对象 例如:CsvWriter(文件路径,分隔符,编码格式);
CsvWriter csvWriter = new CsvWriter(csvFilePath, ',', Charset.forName("UTF-8"));
// 写表头
String[] csvHeaders = { "编号", "姓名", "年龄" };
csvWriter.writeRecord(csvHeaders);
// 写内容
for (int i = 0; i < 20; i++) {
String[] csvContent = { i + "000000", "StemQ", "1" + i };
csvWriter.writeRecord(csvContent);
}
csvWriter.flush();
csvWriter.close();
3.读csv文件
import com.csvreader.CsvReader;
import com.csvreader.CsvWriter;
import java.nio.charset.Charset;
// 用来保存数据
ArrayList<String[]> csvFileList = new ArrayList<String[]>();
// 定义一个CSV路径
String csvFilePath = "D://StemQ.csv";
// 创建CSV读对象 例如:CsvReader(文件路径,分隔符,编码格式);
CsvReader reader = new CsvReader(csvFilePath, ',', Charset.forName("gb2312"));
// 跳过表头 如果需要表头的话,这句可以忽略
reader.readHeaders();
// 逐行读入除表头的数据
while (reader.readRecord()) {
log.info( "------------>"+reader.getRawRecord() ); //用于调试值是否传入成功
csvFileList.add(reader.getValues());
}
reader.close();
// 遍历读取的CSV文件
for (int row = 0; row < csvFileList.size(); row++) {
// 取得第row行第0列的数据
String cell = csvFileList.get(row)[0];
log.info("------------>"+cell); //用于调试值是否传入成功
}
注意:
1.要将读取的文件,用记事本打开,以UTF-8另存
2.使用 CsvReader reader = new CsvReader(csvFilePath, ',', Charset.forName("UTF-8"));读取文件会导致乱码,应该将UTF-8改为gb2312