Я работаю над своим кодом, где я импортирую два CSV-файла, а затем анализирую их
//Importing CSV File for betreuen
String filename = "betreuen_4.csv";
File file = new File(filename);
//Importing CSV File for lieferant
String filename1 = "lieferant.csv";
File file1 = new File(filename1);
Затем я приступаю к их анализу. Для первого файла CSV все работает нормально. Код
try {
Scanner inputStream = new Scanner(file);
while(inputStream.hasNext()) {
String data = inputStream.next();
String[] values = data.split(",");
int PInummer = Integer.parseInt(values[1]);
String MNummer = values[0];
String KundenID = values[2];
//System.out.println(MNummer);
//create the caring object with the required paramaters
//Caring caring = new Caring(MNummer,PInummer,KundenID);
//betreuen.add(caring);
}
inputStream.close();
}catch(FileNotFoundException d) {
d.printStackTrace();
}
Затем я приступаю к анализу другого CSV-файла с кодом
// parsing csv file lieferant
try {
Scanner inputStream1 = new Scanner(file1);
while(inputStream1.hasNext()) {
String data1 = inputStream1.next();
String[] values1 = data1.split(",");
int LIDnummer = Integer.parseInt(values1[0]);
String citynames = values1[1];
System.out.println(LIDnummer);
String firmanames = values1[2];
//create the suppliers object with the required paramaters
//Suppliers suppliers = new
//Suppliers(LIDnummer,citynames,firmanames);
//lieferant.add(suppliers);
}
inputStream1.close();
}catch(FileNotFoundException d) {
d.printStackTrace();
}
первая ошибка, которую я получаю
Исключение в потоке "main" java.lang.ArrayIndexOutOfBoundsException: 2
в Verbindung.main (Verbindung.java:61)
Итак, я смотрю на свой массив, который firmaname , в строке 61, и я думаю, что невозможно выйти за пределы диапазона, поскольку в моем файле CSV есть три столбца и индекс 2 (который я знаю это третий столбец в файле CSV) мой список названий компаний. Я знаю, что массив не пуст, потому что, когда я написал
`System.out.println(firmanames)`
это напечатало бы три из первых названий компаний. Таким образом, чтобы увидеть, не является ли что-то еще причиной проблемы, я закомментировал строку 61 и снова запустил код. Я получаю следующую ошибку
`Exception in thread "main" java.lang.NumberFormatException: For input
string: "Ridge"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at Verbindung.main(Verbindung.java:58)`
Я гуглю эти ошибки, и вы знаете, что он говорит, что я пытаюсь разобрать что-то в целое число, которое не может быть целым числом, но единственное, что я пытаюсь проанализировать в целое число, - это код
int LIDnummer = Integer.parseInt(values1[0]);
Это действительно столбец, содержащий только целые числа.
Моя вторая колонка - это действительно просто колонка с названиями городов в США. Единственное, что есть в этом столбце, это то, что в названиях некоторых городов, таких как Мидл-Брук, есть пробелы, но я не думаю, что это вызовет проблемы для типа String. Также в столбцах моей компании есть такие имена, как AT & T, но я думаю, что символ & также не вызовет проблем для строки. Я не знаю, где я иду не так здесь.
Я не могу включить CSV-файл, но вот его часть. Длина каждого столбца 1000.
Изображение файла CSV