Java - 无法将CSV读取到数组

时间:2015-04-27 20:49:23

标签: java arrays csv

我试图将.csv文件读取到数组,然后用逗号分析行,从我的文件中提取特定数字。我没有收到任何错误,程序运行正常,但它不会让我从除此线[0]以外的任何东西中拉出来。该行应该有3个元素。

csv看起来像这样:

32.34553,-122.4535636,-118.1
32.34553,-122.4535536,-118.1
32.34553,-122.4512236,-118.1
32.34553,-122.4515466,-118.1
32.34553,-122.4532336,-118.1

当我尝试拨打thisLine[1]时(应该是' -122.4535636')我得到:

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
    at com.mkyong.util.ReadCSV.run(ReadCSV.java:32)
    at com.mkyong.util.ReadCSV.main(ReadCSV.java:14)

我对Java很陌生,所以如果这是一个简单的修复,我很抱歉。谢谢你的帮助,

package com.mkyong.util;

import java.io.BufferedReader;
import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

public class ReadCSV {
    public static void main(String[] args) {
        ReadCSV obj = new ReadCSV();
        obj.run();
    }

    public void run() {
        String csvFile = "C:/Program Files/EDX/Projects/Brisbane, CA R900/Data/GIS/meters.csv";
        BufferedReader br = null;
        String line = "";
        String csvSplitBy = ",";

        try {
            br = new BufferedReader(new FileReader(csvFile));
            while ((line = br.readLine()) !=null) {
                String[] thisLine = line.split(csvSplitBy);
                System.out.println("The Current Line is: " + thisLine[0] + ", " + thisLine[1]);
            }
        } catch (FileNotFoundException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            if (br !=null) {
                try {
                    br.close();
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }
        System.out.println("Done");
    }
}

0 个答案:

没有答案