0

这是引发错误的代码。在 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();
4

2 回答 2

1

如果你NullPointerException在写入文件的过程中得到,有两种可能:

  1. 您可能无法打开该文件。例如因为忘记调用FileWriter.

  2. 您没有任何权限打开文件并写入文件。

如果仅在使用 TextPad 运行它时出现异常,我认为出现了第二个问题。你没有权限。

于 2013-03-29T19:51:36.350 回答
0

尝试以管理员模式运行 TextPad

Right Click on Textpad icon -> Run as administrator

& then RUN above program

i sure your program get executed properly.

于 2013-03-29T20:02:47.543 回答