我正在尝试将JTextArea
中的文本存储到变量中,然后将变量与FileWriter/BufferedWriter
结合使用以将内容保存到文件中。
它适用于普通字符串,如:
String stored = "Example";
但是我总是在尝试使用以下内容时遇到nullpointer异常错误:
menuItem.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
HeadBar retrieve = new HeadBar();
BufferedWriter bw = null;
try {
String stored = retrieve.txtarea.getText();
FileWriter fw = new FileWriter("H:/UserInput.txt");
bw = new BufferedWriter(fw);
bw.write(stored);
bw.flush();
System.out.println("Text saved successfully.");
} catch (IOException ex){
System.out.println("Error:" + ex.getMessage());
}
}
});
方法中Headbar
类的一部分:
txtarea = new JTextArea();
c.fill = GridBagConstraints.HORIZONTAL;
c.ipady = 800;
c.weighty = 5.0;
c.anchor = GridBagConstraints.CENTER;
c.gridx = 0;
c.gridwidth = 20;
c.gridy = 20;
panel.add(txtarea, c);
我做错了什么或是getText()
错误的方法?
答案 0 :(得分:0)
首先,您应该阅读What is a NullPointerException, and how do I fix it?。
然后,您应该查看堆栈跟踪,它会告诉您错误发生在哪一行。将它包含在您的帖子中会很有用。
现在,即使没有堆栈跟踪,我也可以假设NPE是由retrieve.txtarea.getText();
引起的。当您在没有设置任何retrieve
的情况下实例化txtarea
时,我认为textarea
为空,因此是NPE。