我试图从BufferedReader中为jTextArea使用read方法。它工作正常,我的文字成功出现在jTextArea中。但在使用read方法后,它使BufferedReader为null。这是我的示例代码:
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:"文件"是我的实例变量。这个变量没有问题,它也可以正常工作。
答案 0 :(得分:1)
BufferedReader br
对象在阅读后已到达终点。因此,br
不是null
,而是它的当前行,您br.readLine()
试图阅读该行。否则,在调用NullPointerException
时会抛出br.readLine()
。
您需要重新初始化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());
}