Javaプログラム内で使用できる配列にCSVファイルをインポートしようとしています。 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