OpenCSV 读取特定列

OpenCSV read specific column

我在使用 OPENCSV 并尝试从一行中读取特定列时遇到小问题。我有一个看起来像这样的 csv 文件

"ID","Name","Name2","Date","Author"
"1","Alex","Example","18.3.2016","Alex"

现在我只想阅读第 2 列和第 3 列(姓名和姓名 2)。

我的代码是这样的

try {
            CSVReader reader = new CSVReader(new FileReader(filelocation));

            String [] nextLine;
            int rowNumber = 0;

            while ((nextLine = reader.readNext()) != null) {
                rowNumber++;
                for(int i = 0; i< nextLine.length ; i++){
                    System.out.println("Cell index: " + i);
                    System.out.println("Cell Value: " + nextLine[i]);
                    System.out.println("---");
                }
            }
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

我已经尝试将 "i" 变量手动设置为 1 和 2。但是我在日志中得到了 4 个相同的结果。什么东西少了?谢谢!

没关系,我找到窍门了。

它应该是这样的。

try {

            CSVReader reader = new CSVReader(new FileReader(filelocation));

            String [] nextLine;
            int rowNumber = 0;
            while ((nextLine = reader.readNext()) != null) {
                rowNumber++;
                String name = nextLine[1];
                String name2 = nextLine[2];
            }
        } catch (FileNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }

之后,我可以获得字符串值并使用它。