保存和删除按钮不起作用

时间:2012-05-01 22:34:31

标签: java save

我想保存我在文本字段中写的任何内容,并删除程序在单击搜索按钮后找到的行。为什么不起作用?这是我的两个按钮:

private class dDelete implements ActionListener {
    public void actionPerformed (ActionEvent e) {
        HM.remove((String)result.getText());
    }
}

private class sSave implements ActionListener {
  public void actionPerformed (ActionEvent e) {    
     Set <String> ISet = HM.keySet();
     Iterator itr = ISet.iterator();
     String tuple = "";

     java.io.File iwrite = new java.io.File("c:\\temp\\savetest.txt");
     if (iwrite.exists()){
         System.out.println("The file exists");
         System.exit(0);
     }
     java.io.PrintWriter output = null;
     try {
         output = new java.io.PrintWriter(iwrite);
     } catch(Exception ex) {
         ex.printStackTrace();
     }

     while (itr.hasNext()) {
         String Keys = (String)itr.next();
         String val = HM.get(Keys);
         tuple = Keys + " " + val;

         output.print(tuple);
     }
  }
}

1 个答案:

答案 0 :(得分:3)

您应该关闭输出编写器output.close(),这可能是原因。

您没有显示您要添加到集合HM的内容,因此很难判断删除是否有效。检查对HM.remove的调用的返回值,你会看到它是否成功,否则你使用了错误的键(在添加为删除时不使用相同/相同的键)。

除此之外,当你需要密钥和值(HM.entrySet())时,我建议迭代entrySet。

还要根据Java命名约定重命名类和变量(类以大写字母开头,实例变量不应该等)。有关更多信息。请参阅Java naming conventions