我正在尝试从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());
}