将 CSV 值转换为 JAVA 中的 HashMap 键值对

Convert CSV values to a HashMap key value pairs in JAVA(将 CSV 值转换为 JAVA 中的 HashMap 键值对)

本文介绍了将 CSV 值转换为 JAVA 中的 HashMap 键值对的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

您好,我有一个名为 test.csv 的 csv.我正在尝试逐行读取 csv 并将值转换为哈希键值对.这是代码:-

HI I have a csv called test.csv . I am trying to read the csv line by line and convert the values into a hash key value pairs . Here is the code :-

public class Example {
public static void main(String[] args) throws ParseException, IOException {
    // TODO Auto-generated method stub

    BufferedReader br = new BufferedReader(new FileReader("test.csv"));
    String line =  null;
    HashMap<String,String> map = new HashMap<String, String>();

    while((line=br.readLine())!=null){
        String str[] = line.split(",");
        for(int i=0;i<str.length;i++){
            String arr[] = str[i].split(":");
            map.put(arr[0], arr[1]);
        }
    }
    System.out.println(map);
 }
}

csv 文件如下:-

The csv file is as follows :-

1,"testCaseName":"ACLTest","group":"All_Int","projectType":"GEN","vtName":"NEW_VT","status":"ACTIVE","canOrder":"Yes","expectedResult":"duplicateacltrue"
2,"testCaseName":"DCLAddTest","group":"India_Int","projectType":"GEN_NEW","vtName":"OLD_VT","status":"ACTIVE","canOrder":"Yes","expectedResult":"invalidfeaturesacltrue"

当我运行这段代码时,我得到了这个错误:-

When I run this code I get this error :-

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
    Example.main(Example.java:33)

谁能帮我修复代码并找出程序中的错误?

Can anyone please help me to fix the code and find out the error in my program ?

推荐答案

在第一次拆分时,您的 String 中只包含 arr[0] as 1 什么都没有在 arr[1] 所以会导致异常

In your String when you split it on first time only contains arr[0] as 1 nothing in arr[1] so it will cause an Exception

如果你不需要1,2等.你可以看下面的代码:

If you does not need the 1,2, etc.. You can look the following code:

        String str[] = line.split(",");
        for(int i=1;i<str.length;i++){
            String arr[] = str[i].split(":");
            map.put(arr[0], arr[1]);
        }

这篇关于将 CSV 值转换为 JAVA 中的 HashMap 键值对的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:将 CSV 值转换为 JAVA 中的 HashMap 键值对