• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

yxchun

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

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 []
}

 

posted on 2025-10-29 11:31  yxchun  阅读(7)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3