我试图将.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");
}
}