Java 我正在读取csv文件,但它会在一定次数后停止读取该文件

Java 我正在读取csv文件,但它会在一定次数后停止读取该文件,java,Java,它只读了2261行就停了,停下来有原因吗 我一直在从BoundsException获取java.lang.ArrayIndex异常:3 我检查了文件是否有问题,但没有任何问题r=line.split(“,”)看起来这是在读取一行,它的结构与您期望的不一样,这是一行少于4个字段。此外,这String[]r=newstring[178806]是无用的。在每次迭代中,您都为r分配一个新值,不需要在那里设置它。只需执行String[]r=line.split(“,”)在循环中。您可以在创建DNode对象

它只读了2261行就停了,停下来有原因吗

我一直在从BoundsException获取java.lang.ArrayIndex异常:3


我检查了文件是否有问题,但没有任何问题

r=line.split(“,”)看起来这是在读取一行,它的结构与您期望的不一样,这是一行少于4个字段。此外,这
String[]r=newstring[178806]是无用的。在每次迭代中,您都为
r
分配一个新值,不需要在那里设置它。只需执行
String[]r=line.split(“,”)在循环中。您可以在创建
DNode
对象之前检查该行并跳过该行,但所有行中都有我检查过的内容it@AbdullahShaibah“something”是不够的,它必须采用
w.x,y,z
的形式,即至少有四个字符串由逗号分隔。
 public void processText(String filename){
        int count=0;

        String[] r = new String[178806];
        String line = "";
        try(BufferedReader br = new BufferedReader(new FileReader(filename))){
        while ((line = br.readLine()) != null) {
            r = line.split(",");
            DNode wordObj = new DNode(r[0].toUpperCase(),r[1],r[2],r[3]);
            System.out.println(wordObj);
            count++;
            System.out.println(count);
        }

        }catch(Exception tom){
            System.out.println(tom);
        }
    }