下面是抛出错误的代码。在TextPad中,当我试图将数组的内容写入文本文件时,我得到一个NullPointerException。(它在数组中看不到任何东西。)注意:它可以在Netbeans中完美地工作。我只在Textpad里看到这个。我搜索了谷歌,我不知道它为什么这样做。
void enterContact(){
// test contact
contactName = nameField.getText();
if (contactName == null || contactName.equals(""))
{
JOptionPane.showMessageDialog(null, "Please enter a name.");
return;
}
//test age betweeen 0 and 120
contactAge = ageField.getText();
try{
Integer.parseInt(contactAge);
}
catch(NumberFormatException e){
JOptionPane.showMessageDialog(null, "Please enter a valid age.");
}
finally{
if (Integer.parseInt(contactAge) <= 0 || Integer.parseInt(contactAge) >= 121){
JOptionPane.showMessageDialog(null, "Please enter a valid age.");
return;
}
}
// test email
contactEmail = emailField.getText();
if ( contactEmail == null || contactEmail.equals(""))
{
JOptionPane.showMessageDialog(null, "Please Enter an Email Address.");
return;
}
//test cell number
contactPhone = phoneField.getText();
try
{
Integer.parseInt(contactPhone);
}
catch(Exception e) {
JOptionPane.showMessageDialog(null, "Please Enter a valid Phone Number.");
return;
}
String columns2[] = { contactName, contactAge, contactEmail, contactPhone };
//write data to file
try{
for (int i = 0; i < columns2.length; i++){
fw.write(columns2[i].toString() + ", ");
}
fw.write("rn");
fw.flush();
fw.close();
如果在写入文件时得到NullPointerException
,有两种可能性:
-
不能打开文件。例如,由于忘记调用
FileWriter
的构造函数 -
您没有打开文件和写入文件的权限。
如果你得到的异常只有当你运行它使用TextPad,我认为第二个问题发生了。你没有权限
尝试在管理员模式下运行您的TextPad
右键单击Textpad图标->以管理员身份运行
,然后运行上面的程序