Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 保存和删除按钮不起作用_Java_Save - Fatal编程技术网

Java 保存和删除按钮不起作用

Java 保存和删除按钮不起作用,java,save,Java,Save,我想保存我在文本字段中写的任何内容,并删除程序在单击搜索按钮后找到的行。为什么不起作用?这是我的两个按钮: private class dDelete implements ActionListener { public void actionPerformed (ActionEvent e) { HM.remove((String)result.getText()); } } private class sSave implements ActionListe

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

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);
     }
  }
}
私有类dDelete实现ActionListener{
已执行的公共无效操作(操作事件e){
HM.remove((字符串)result.getText());
}
}
私有类sSave实现ActionListener{
已执行的公共无效操作(操作事件e){
设置ISet=HM.keySet();
迭代器itr=ISet.Iterator();
字符串元组=”;
java.io.File iwrite=new java.io.File(“c:\\temp\\savetest.txt”);
if(iwrite.exists()){
System.out.println(“文件存在”);
系统出口(0);
}
java.io.PrintWriter输出=null;
试一试{
输出=新的java.io.PrintWriter(iwrite);
}捕获(例外情况除外){
例如printStackTrace();
}
while(itr.hasNext()){
字符串键=(字符串)itr.next();
字符串val=HM.get(键);
元组=键+“”+val;
输出打印(元组);
}
}
}

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

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

除此之外,我建议在需要键和值时迭代entrySet(
HM.entrySet()


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

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

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

除此之外,我建议在需要键和值时迭代entrySet(
HM.entrySet()


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

+1-我添加了一个链接,指向有关命名约定的详细信息。(编辑也很好-希望不久有人会批准。)+1-我添加了一个链接,指向命名约定的详细信息。(编辑也很好——希望很快有人会批准。)