我遇到了一些命令的麻烦。Java Csv-数据字符串空间拆分错误
我有型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。
上网。
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 2
at java.util.Arrays$ArrayList.get(Arrays.java:2866)
at CsvEinlesen.main(CsvEinlesen.java:23)
我想通了,这个问题是由在空间造成“上网。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