【发布时间】:2019-11-08 13:24:05
【问题描述】:
我尝试从 CSV 文件中读取所有行,但并非所有行的长度都相同。我使用了这段代码:
BufferedReader reader = new BufferedReader(new FileReader("C://Users/Balazs/Downloads/numbers.csv"));
String line = "";
while ((line = reader.readLine()) != null) {
String[] szamok = line.split(";");
但如果某些行比之前的行长,它会给我错误。 任何想法如何在java中解决这个问题? 谢谢!
【问题讨论】:
-
我认为这不是因为行的长度,而是因为它的内容。您能否添加一个 int 变量来告诉您程序在哪个通道抛出错误?另外能否请您澄清出现了什么错误?
-
一个 csv 文件通常以逗号分隔,您确定要在
;而不是,上拆分吗? -
我尝试使用这个: if (szamok[19]!=null) { Integer hetedikSzam = Integer.parseInt(szamok[19]); hetedikSzam = Integer.parseInt(szamok[19]); } 但它给了我一个 ArrayIndexOutOfBoundsException 大多数行以 szamok[18] 结尾,但也有一些在 szamok[19]
-
请不要将代码放入 cmets。 edit 改为您的问题
-
你最好检查
if(szamok.length >18)而不是if (szamok[19]!=null)
标签: java csv bufferedreader