每次我尝试从.txt
文件中读取时,都会得到一个NullPointerException
。我已经查找了所有内容,但是无论如何都找不到答案。
如果任何人都可以告诉我我做错了,那就太好了。
public class fileClassOpen implements ActionListener{
public void actionPerformed(ActionEvent e) {
int dialog = chooser2.showOpenDialog(Other.this);
if(dialog == JFileChooser.APPROVE_OPTION) {
String path = chooser.getSelectedFile().getAbsolutePath();
try {
FileReader fw = new FileReader(path);
BufferedReader br = new BufferedReader(fw);
while(br.readLine() != null) {
txtArea.setText(br.readLine());
}
} catch (IOException e1) {
}
}
}
}
答案 0 :(得分:1)
您两次调用br.readline()。因此,您最终一次只能读两行。也许,这就是为什么假设其他所有方法都抛出NullPointerException的原因。 我会做这样的事情:
String line = "";
while ((line = br.readLine()) != null){
txtArea.setText(line);
}
此外,切勿在没有适当的catch语句的情况下吞下该异常。
答案 1 :(得分:0)
尝试使用txtArea.append( br.readLine() );
代替txtArea.setText(br.readLine())
,因为textArea.append(str)
将给定的文本附加到文档的末尾。如果给定字符串为null或为空,则不执行任何操作。