在java错误中,数组索引超出边界


package com.testing;
import java.io.BufferedReader;
import java.io.FileReader;
public class CsvParser {
    public static void main(String[] args) {
        String csvFile = "D:/code-home/SentimentAnalysis/test_data/Sentiment Analysis Dataset.csv";
        BufferedReader br = null;
        String line = "";
        String cvsSplitBy = "t";   // data is in format splitted by tab
        br = new BufferedReader(new FileReader(csvFile));
        while ((line = br.readLine()) != null) {
            // use comma as separator
            String[] tweet = line.split(cvsSplitBy);
            System.out.println(tweet[1]);
            System.out.println(tweet[3]);
        }
    }
}

程序的目的是解析CSV格式。我使用了bufferRead方法。

当我去编译程序时,它工作得很好。当我运行程序时,输出被打印出来,但是有一个异常:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at com.testing.CsvParser.main(CsvParser.java:34)

首先:Java中的数组是零索引的,这意味着数组中的第一个元素不是由array[1]选择的,而是由array[0]选择的。由于OutOufBoundsException在索引1处被触发,因此数组中最多有一个元素(在访问数组之前应该检查数组的大小)。因为您试图在下一行访问索引3 (Java中的第四个元素),我怀疑您希望每行中至少有3个元素。由于最多有一个元素,您似乎要么使用了错误的分割字符,要么您的文件没有像您期望的那样格式化。我希望这对你有所帮助。亲切的问候

相关内容

  • 没有找到相关文章

最新更新