我是Java的新手,下面是我的Java代码。当我执行此Java程序时,出现了异常>]
java.lang.IndexOutOfBoundsException:索引:4,大小:4
我已经找出我出错的原因。
当我在普通文本编辑器中打开此csv文件时,我看不到数据有任何问题。但是,当我尝试在Ubuntu的VI编辑器中打开文件时,我可以看到存在^ M行字符,这是导致异常的原因。当我编辑文件并删除^ M并再次运行程序时,它的工作正常,并将数据插入表中。
这是Windows PC上的换行符,在基于VIM的编辑器中被读取为^ M,我从Windows获取此文件,并在ubuntu中阅读。
这里是screenshot,在这里我可以看到^ M,它位于索引4。
我在Java中看到replaceAll
函数,但我不知道如何使用它以及我到底需要在哪里使用它。我只需要删除^M
并读取文件即可。请帮助
我尝试了条件String line = line1.replaceAll("^M","");
,但仍然遇到相同的异常。我不确定在异常或其他逻辑中是否有其他方法可以处理此问题
我是Java的新手,下面是我的Java代码。当我执行此Java程序时,出现异常,如java.lang.IndexOutOfBoundsException:索引:4,大小:4我已经找到了...
基于注释和堆栈跟踪,编辑答案;