jmeter读取csv文件放到list数组里面
方法一:使用Java NIO
import java.nio.file.Files import java.nio.file.Paths import java.util.stream.Collectors try { def filePath = Paths.get("C:/Users/yxchun/Desktop/imedia/imedia.csv") List<String> csvLines = [] if (Files.exists(filePath)) { // 使用Java 8 Stream API读取 csvLines = Files.lines(filePath) .filter { line -> line.trim() && !line.trim().startsWith("#") } .map { line -> line.trim() } .collect(Collectors.toList()) log.info("使用NIO读取CSV文件,共 ${csvLines.size()} 行数据") } else { log.error("CSV文件不存在") } // 显示统计信息 log.info("数据统计:") log.info("总行数: ${csvLines.size()}") if (!csvLines.isEmpty()) { log.info("第一行: ${csvLines[0]}") log.info("最后一行: ${csvLines[-1]}") } SampleResult.responseData = "CSV读取完成,共 ${csvLines.size()} 行数据" SampleResult.successful = true return csvLines } catch (Exception e) { def error = "NIO读取失败: ${e.message}" log.error(error, e) SampleResult.responseData = error SampleResult.successful = false return [] }
方法二
import java.nio.file.Paths import java.nio.file.Files try { def csvFile = new File("C:/Users/yxchun/Desktop/imedia/imedia.csv") List<String> csvContent = [] if (csvFile.exists()) { csvFile.eachLine { line -> def trimmedLine = line.trim() if (trimmedLine && !trimmedLine.startsWith("#")) { csvContent.add(trimmedLine) } } log.info("成功读取CSV文件,共 ${csvContent.size()} 行数据") } else { log.error("CSV文件不存在: ${csvFile.absolutePath}") } // 打印前10行内容作为示例 def sampleSize = Math.min(10, csvContent.size()) log.info("前${sampleSize}行数据:") csvContent[0..<sampleSize].eachWithIndex { line, index -> log.info("${index + 1}: ${line}") } SampleResult.responseData = """ CSV文件读取完成! 文件路径: ${csvFile.absolutePath} 总行数: ${csvContent.size()} 前5行数据: ${csvContent[0..<Math.min(5, csvContent.size())].join('\n')} """ SampleResult.successful = true return csvContent } catch (Exception e) { def error = "读取CSV文件失败: ${e.message}" log.error(error, e) SampleResult.responseData = error SampleResult.successful = false return [] }
浙公网安备 33010602011771号