这是抛出错误的代码。在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("\r\n");
fw.flush();
fw.close();
答案 0 :(得分:1)
如果您在写入文件时获得NullPointerException
,则有两种可能性:
您可能无法打开该文件。例如,因为忘记调用FileWriter
。
您没有任何权限打开文件并写入文件。
如果只有在使用TextPad运行它时才会出现异常,我认为发生了第二个问题。您没有权限。
答案 1 :(得分:0)
尝试以管理员模式运行TextPad
右键单击Textpad图标 - &gt;以管理员身份运行
&安培;然后在程序之上运行
我确定您的程序正确执行。