Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java String.split()的ArrayIndexOutOfBoundsException_Java_Arrays_Split - Fatal编程技术网

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;