jTextArea 的 read 方法使 BufferedReader 为空



我正在尝试从BufferedReader对jTextArea使用读取方法。它可以工作,我的文本成功出现在jTextArea中。但是在使用读取方法后,它使缓冲读取器为空。这是我的示例代码:

    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工作正常并打印出第一行。但在正常情况下,它打印为空。附言:"文件"是我的实例变量。这个变量没有问题,它也可以正常工作。

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());
}

相关内容

  • 没有找到相关文章

最新更新