我正在嘗試將CSV文件導入可在Java程序中使用的數組中。 CSV文件已成功導入本身並出現在終端的輸出,但它引發錯誤:將數據從CSV解析爲Java中的數組
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 1
at CompareCSV.main(CompareCSV.java:19)
末。另外,當我嘗試調用數組中的元素時,它也顯示相同的錯誤。我的代碼如下:
import java.io.*;
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) {
lineNumber++;
String[] result = fileName.split(",");
for (int x=0; x<result.length; x++) {
System.out.println(result[x]);
}
}
}
catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
爲什麼在for循環中使用硬編碼常量而不是結果大小? – Perception
您可以根據需要使用現有的Java CSV API:http://sourceforge.net/projects/csv4j/或http://sourceforge.net/projects/javacsv/例如。 –
@Perception是對的,你確定在閱讀一行後你有3個值嗎? – Marcelo