因此,我有这种情况:我有两个.csv文件,我需要读取和保存它们的数据。

问题在这里:

while ((nextPM = csvReader2.readNext()) != null) {
    System.out.println(nextPM[0]);
    while ((nextRecord = csvReader.readNext()) != null) {
        System.out.println(nextRecord[0] + "asd");
        if(nextRecord[0].equals(nextPM[0])) {
            System.out.println(nextRecord[0] + " " + nextRecord[1] + " " + nextPM[2]);
        }
    }
}


第一次很完美,但是当第一个while循环再次开始时,第二个while只是被跳过了。有什么办法吗?当然nextPMnextRecordString[](在我向您展示的代码之外初始化)

最佳答案

当内循环在外循环的第一次迭代中完成时,cvsReader将到达EOF,因此任何进一步的调用csvReader.readNext()将返回null。

一种解决方案是不嵌套循环,而是先将文件之一读入数组或其他集合中,然后在读取第二个数组时对该数组进行处理。

关于java - 跳过csvReader的while循环,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52405219/

10-08 22:36