繁体   English   中英

代码可以在Netbeans中使用,但不能在TextPad中使用吗?

[英]Code works in Netbeans, but not TextPad?

这是引发错误的代码。 在TextPad中,当我尝试将数组的内容写入文本文件时,出现NullPointerException。 (它在数组中看不到任何内容。)注意:它在Netbeans中完美地工作。 我只能在Textpad中得到它。 我已经搜寻了Google,但不知道为什么要这么做。

    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();

如果在写入文件期间收到NullPointerException ,则有两种可能性:

  1. 您可能无法打开文件。 例如,由于忘记了调用FileWriter的构造函数。

  2. 您无权打开文件并写入文件。

如果只有在使用TextPad运行该异常时才得到该异常,那么我认为发生了第二个问题。 您没有权限。

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

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

然后在程序上方运行

我确定您的程序能够正确执行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM