Java String.split()的ArrayIndexOutOfBoundsException
这是从包含学生详细信息的文件中读取输入的代码,格式为Java String.split()的ArrayIndexOutOfBoundsException,java,arrays,split,Java,Arrays,Split,这是从包含学生详细信息的文件中读取输入的代码,格式为卷、姓名、年龄、街道、城市、zipcode。 其中很少有值可以是null偶数 对于以下代码,我得到java.lang.ArrayIndexOutOfBoundsException:1 代码如下- BufferedReader br=new BufferedReader(new FileReader(fileName)); while((line=br.readLine())!=null){ split_arra
卷、姓名、年龄、街道、城市、zipcode
。
其中很少有值可以是null
偶数
对于以下代码,我得到java.lang.ArrayIndexOutOfBoundsException:1
代码如下-
BufferedReader br=new BufferedReader(new FileReader(fileName));
while((line=br.readLine())!=null){
split_array=line.split("\\,");
String roll1=split_array[0];
String name=split_array[1];// This is the line which causes Exception
String age1=split_array[2];
String street=split_array[3];
String city=split_array[4];
String zip=split_array[5];
}
如果文件中间有空行,则应该
if (line.equals(""))
continue;
或
if(拆分数组长度
- 您应该使用分隔符分隔每一列
- 在使用索引之前检查长度,因为您说过可能会丢失一些数据,所以有时索引会超出范围
- 假设用户有时不提供所需格式的数据,这通常是一种很好的做法
为什么要按\,
而不是按,
拆分?向我显示文件名的内容
你确定你正在阅读的所有行都至少有5个逗号吗?你可能会在文件末尾发现一个额外的空行,这可能是导致此异常的原因。你不需要\,
你只需使用即可>,
文件名的内容是这样的-第1-4行,内哈,10号,坎普,浦那,411023行,第2-5行,希玛,第3-8行,内哈,孟买,第4-9行,米纳,9号,孟买纳里曼角,411045行,孟买M.G.Road,3号,Chaitali,411032
if (split_array.length <= 1)
continue;