使用 BufferedReader 读取 Java 中的一行

Using BufferedReader to read a single line in Java

我已经成功地从 CSV 中读取了代码。但是,当我尝试使用 fileReader 来阅读单行时,它会使我的代码停止工作。

这是我的代码:

try {
    String line = "";
    fileReader = new BufferedReader(new FileReader(filename));

    while ((line = fileReader.readLine()) != null) {
        String[] tokens = line.split(DELIMITER);
        for (String token : tokens) {
            totalData.add(token);
            if (!artists.contains(token)) {
                artists.add(token);
            }
        }
        for (int l = 0; l <= 999; l++) {
            lineData = fileReader.readLine();
            lineArray[l] = lineData;
        }

    }
} finally {
    fileReader.close();
}

当我尝试读取 arrayList 大小和打印数据时,我从上面的 arrayLists 中获取以下代码使其停止工作:

for (int l = 0; l <= 80; l++) {
    lineData = fileReader.readLine();
    lineArray[l] = lineData;
}

如果我评论这个循环,一切都很好。我真的需要这个 for 循环,我该如何编辑我的代码来解决这个问题?另外,这是怎么回事?

for (int l = 0; l <= 80; l++) {
    lineData = fileReader.readLine();
    lineArray[l] = lineData;
}

这个硬代码可以代替一行代码:

lineArray[i++] = line;

我更正了您的代码,结果就是这样:

String line = "";
int i = 0;
try (BufferedReader fileReader = new BufferedReader(new FileReader(""))) {
    while ((line = fileReader.readLine()) != null) {
        lineArray[i++] = line;
        String[] tokens = line.split(DELIMITER);
        for (String token : tokens) {
            totalData.add(token);
            if (!artists.contains(token)) {
                artists.add(token);
            }
        }
    }
}