У меня возникли проблемы с командой.Java Csv-data Ошибка разбиения пространства строк
У меня есть файл типа CSV, который выглядит следующим образом:.
Merkmals-Nr; интерн TEILE-Nr; Bereich; Fertigungsschritt; ...
После прочтения файла в это нужно. прочитать одну строку, а затем разделить строку после «;» используя эту кодолинку.
List<String> datenListe = Arrays.asList(data.split(";"));
Тогда я делаю system.println
Как печать должна выглядеть:
Merkmals-Nr.
Interne Teile-Nr.
Bereich
Fertigungsschritt
...
Как печать выглядит на самом деле:
Merkmals-Nr.
Interne
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
at java.util.Arrays$ArrayList.get(Arrays.java:2866)
at CsvEinlesen.main(CsvEinlesen.java:23)
я понял, что проблема вызвана пространства в "Interne TEILE-Nr." но я не знаю, как решить проблему с пробелами.
Это thecomplete код:
import java.io.*;
import java.util.*;
public class CsvEinlesen {
public static void main(String[] args) {
String fileName = "0-201-08-4473.csv";
File file = new File(fileName);
try {
Scanner csvInputStream = new Scanner(file);
while (csvInputStream.hasNext()) {
String data = csvInputStream.next();
List<String> datenListe = Arrays.asList(data.split(";"));
for (int i = 0; i < 32; i++) {
System.out.println(datenListe.get(i));
}
}
csvInputStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
System.out.println("CSV-Datei nicht gefunden");
}
}
}
Спасибо, что ваш код решил одну часть проблемы. Другая проблема с пробелами, которые я исправил с помощью команды 'code' scanner.useDelimiter ("; "); – Gusse
Отличный материал. Я рад помочь. Счастливое кодирование! – ishmaelMakitla