java.lang.ArrayIndexOutOfBoundsException: 1 字符串分割数组越界,报错为1

ava.lang.ArrayIndexOutOfBoundsException: 1

split()分割字符串,出现数据越界异常,报错为1

今天学习redis数据库过程中,在实现读取txt文件,分割每一行数据,存储到hashmap集合中,再写入到redis数据库,但是就是报数组越界,我确定数据没有越界。
代码如下:

FileReader file = new FileReader("data\\student.txt");
        BufferedReader br = new BufferedReader(file);
        String line;
        while ((line=br.readLine())!=null){
            String id ="student:"+ line.split(",")[0];

            String[] split = line.split(",");

            System.out.println(split.length);

            String name = split[1];
            String age = split[2];
            String sex = split[3];
            String clazz = split[4];

//            System.out.println(name);
//            System.out.println(age);
//            System.out.println(sex);
//            System.out.println(clazz);

            HashMap<String,String> map = new HashMap<String,String>();

            map.put("name",name);
            map.put("age",age);
            map.put("sex",sex);
            map.put("clazz",clazz);

//            System.out.println(map);

            jedis.hmset(id,map);
        }

反复检查,代码也没有问题
报错如下:

显示数组越界,跟了一个1,百度了没找到类似问题和解决方案,只能自己慢慢想了。
然后输出分割的字符和字符长度,发现问题,最后一行长度一直为1.

我感觉应该是txt文件内容的问题

又仔细看了看发现问题,最后两行多敲了回车,将回车删除问题就解决啦
希望有相似问题的小伙伴能看到吧。

猜你喜欢

转载自blog.csdn.net/qq_61324603/article/details/130677520