zoukankan      html  css  js  c++  java
  • Java-CSV文件读取

     1 import java.io.BufferedReader;
     2 import java.io.FileInputStream;
     3 import java.io.IOException;
     4 import java.io.InputStreamReader;
     5 import java.util.ArrayList;
     6 import java.util.List;
     7 import org.testng.annotations.DataProvider;
     8 import org.testng.annotations.Test;
     9 
    10 /**
    11  * 读取csv文件
    12  */
    13 public class File_CSV {
    14     // 测试案例绑定DataProvider后自动循环执行
    15     @Test(dataProvider="getData")
    16     public void testSearch(String p1, String p2) {
    17         System.out.println(p1 + " " + p2);
    18     }
    19         
    20     // 定义数据驱动
    21     @DataProvider(name = "getData")
    22     public static Object[][] getData() throws IOException {
    23         return getTestData(".\testData\testDate.csv");
    24     }
    25 
    26     // 读取CSV文件的静态方法,使用CSV文件的绝对文件路径作为函数参数
    27     public static Object[][] getTestData(String fileName) throws IOException {
    28         List<String[]> records = new ArrayList<String[]>();
    29         String record;
    30         // 设定UTF-8字符集,使用带缓冲区的字符输入流BufferedReader读取文件内容
    31         BufferedReader file = new BufferedReader(new InputStreamReader(new FileInputStream(fileName), "UTF-8"));
    32         // file.readLine(); //跳过表头所在的行
    33 
    34         // 遍历数据行并存储在名为records的ArrayList中,每一行records中存储的对象为一个String数组
    35         while ((record = file.readLine()) != null) {
    36             String fields[] = record.split(",");
    37             records.add(fields);
    38         }
    39         // 关闭文件
    40         file.close();
    41         // 将存储测试数据的List转换为一个Object的二维数组
    42         Object[][] results = new Object[records.size()][];
    43         // 设置二位数组每行的值,每行是一个Object对象
    44         for (int i = 0; i < records.size(); i++) {
    45             results[i] = (Object[]) records.get(i);
    46         }
    47         return results;
    48     }
    49 }

    testDate.csv文件内容:

      

  • 相关阅读:
    linux下查找文件并按时间顺序排序的方法
    动态口令(OTP)认证技术概览
    [转]关于OpenSSL支持USBKEY证书的尝试
    关于CSP通过CpSetKeyParam存入证书相关问题
    Windows AntiDebug Reference
    cryptapi制作证书
    [转]国密SM3杂凑算法与实现
    [转]国密SM2非对称算法与实现
    [转]国密SM4对称算法实现说明(原SMS4无线局域网算法标准)
    证书的申请过程(usbkey)
  • 原文地址:https://www.cnblogs.com/wang1001/p/9767778.html
Copyright © 2011-2022 走看看