在JAVA 6中使用CSVReader(OpenCSV)读取CSV时避免ArrayIndexOutOfBoundsException

时间:2015-06-02 11:47:26

标签: java arrays opencsv

这就是我所做的,代码如下所示:

CSVReader reader = new CSVReader(new FileReader("fileName.csv"), ',' , '"' , 1); // using openCSV
String[] nextLine; // Declaring the array
while ((nextLine = reader.readNext()) != null) {
    if (nextLine != null) {   
        if(nextLine[10] == null){
            /*CODE*/ // Error at the if condition line.
        }
    }
}

2 个答案:

答案 0 :(得分:2)

首先应检查nextLine的长度,例如:

 if(nextLine.length < 11 || nextLine[10] == null){

如果数组没有10个(或更多)元素,我们的想法是避免评估nextLine[10]

您需要的确切逻辑可能会有所不同,具体取决于您要实现的目标。

答案 1 :(得分:0)

您需要发布一些示例数据以显示您要处理的内容。如果你只是试图解析10个或更少的项目,那么我希望上面的代码失败,因为java是基于零的,所以你将有nextLine [0]到nextLine [9]。