代码工作在Netbeans,但不是TextPad



下面是抛出错误的代码。在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,有两种可能性:

  1. 不能打开文件。例如,由于忘记调用FileWriter的构造函数

  2. 您没有打开文件和写入文件的权限。

如果你得到的异常只有当你运行它使用TextPad,我认为第二个问题发生了。你没有权限

尝试在管理员模式下运行您的TextPad

右键单击Textpad图标->以管理员身份运行

,然后运行上面的程序

相关内容

  • 没有找到相关文章

最新更新