jTextArea 的读取方法使 BufferedReader 为空

read method for jTextArea makes BufferedReader null

我正在尝试对 BufferedReader 中的 jTextArea 使用读取方法。它有效,我的文本成功出现在 jTextArea 中。但在使用 read 方法后,它使 BufferedReader 为空。这是我的示例代码:

    private void Calculate() throws IOException{
       BufferedReader br = new BufferedReader(new FileReader(file)) ;

            jTextArea.read(br, "jTextArea");

            System.out.println(br.readLine());
}

当我注释掉这个 "jTextArea.read(br, "jTextArea");" println 正常工作并打印出第一行。但在正常情况下,它会打印 null。 P.S: "file" 是我的实例变量。这个变量没有问题,它也可以正常工作。

BufferedReader br 对象读取结束。所以,br 不是 null,而是当前行,您正试图通过 br.readLine() 读取它。否则会在调用 br.readLine() 时抛出 NullPointerException。 您需要重新初始化 BufferedReader 并打印第一行:

private void Calculate() throws IOException {
    BufferedReader br = new BufferedReader(new FileReader(file));
    jTextArea.read(br, "jTextArea");
    br = new BufferedReader(new FileReader(file));
    System.out.println(br.readLine());
}