Java – Parsing Data from CSV to Array in Java


I'm trying to import a CSV file into an array that I can use within a Java program. The CSV file has successfully imported itself and the output appears on Terminal but it throws the error:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1 
at CompareCSV.main(

at the end. In addition, when I try to call up elements in the array, it also shows the same error. My code is below:

import java.util.*;

public class CompareCSV {

    public static void main(String[] args) {

        String fileName = "sampledata1.csv";
        try {
            BufferedReader br = new BufferedReader( new FileReader(fileName));
            String strLine = null;
            StringTokenizer st = null;
            int lineNumber = 0, tokenNumber = 0;

            while((fileName = br.readLine()) != null) {
                String[] result = fileName.split(",");
                for (int x=0; x<result.length; x++) {

        catch (FileNotFoundException e) {
        } catch (IOException e) {

Best Solution

You are much better off using a proper CSV parser than hacking a faulty one up yourself:

CSV is not the simple format one might be let to think (yes, a line can contain a , that does not separate two pieces of data).