Java 多次从文本文件中删除一行

Java 多次从文本文件中删除一行,java,Java,我试图从文本文件中删除一行,下面的代码可以工作,尽管我似乎不能删除多次。在我将ID输入文本字段并单击“删除”后,它可以正常工作,但我不能再这样做了 String filepath = "..\\rent-a-car\\assets\\car.txt"; private void btnDelActionPerformed(java.awt.event.ActionEvent evt) {

我试图从文本文件中删除一行,下面的代码可以工作,尽管我似乎不能删除多次。在我将ID输入文本字段并单击“删除”后,它可以正常工作,但我不能再这样做了

String filepath = "..\\rent-a-car\\assets\\car.txt";
    private void btnDelActionPerformed(java.awt.event.ActionEvent evt) {                                       
        // TODO add your handling code here:
        String tempFile = "..\\rent-a-car\\assets\\temp.txt";
        String removeTerm = jTextField1.getText();
        File oldFile = new File(filepath);
        File newFile = new File(tempFile);
        String id = ""; String make = ""; String model = ""; String year = ""; String color = ""; String rent = "";
        Scanner sc;
        
        try {
            FileWriter fw = new FileWriter(tempFile, true);
            BufferedWriter bw = new BufferedWriter(fw);
            PrintWriter pw = new PrintWriter(bw);
            sc = new Scanner(new File(filepath));
            sc.useDelimiter("[,\n]");
            
            while(sc.hasNext()) {
                id    = sc.next();
                make  = sc.next();
                model = sc.next();
                year  = sc.next();
                color = sc.next();
                rent  = sc.next();
                
                if(!id.equals(removeTerm)){
                    pw.println(id + "," + make + "," + model + "," + year + "," + color + "," + rent + "\n");
                }
            }
           
            sc.close();
            pw.flush();
            pw.close();
            oldFile.delete();
            File dump = new File(filepath);
            newFile.renameTo(dump);
        
        } catch(Exception e) {
            //JOptionPane.showMessageDialog(null, "Error");
        } 
        
    }

第一次通过后文件内容如何?你会犯什么样的错误?此外,您正在悄悄地捕获异常,您的所有资源都可能泄漏。您应该使用try-with-resources。您是否希望删除多行,或者您正在检查文件,然后再次单击按钮?我建议您提出问题,并发布输入文件
car.txt
的示例,以及在方法
btnDelActionPerformed()
完成后,您希望该文件包含的内容,以及您现在运行代码时实际得到的信息。