Java 多次从文本文件中删除一行
我试图从文本文件中删除一行,下面的代码可以工作,尽管我似乎不能删除多次。在我将ID输入文本字段并单击“删除”后,它可以正常工作,但我不能再这样做了Java 多次从文本文件中删除一行,java,Java,我试图从文本文件中删除一行,下面的代码可以工作,尽管我似乎不能删除多次。在我将ID输入文本字段并单击“删除”后,它可以正常工作,但我不能再这样做了 String filepath = "..\\rent-a-car\\assets\\car.txt"; private void btnDelActionPerformed(java.awt.event.ActionEvent evt) {
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()
完成后,您希望该文件包含的内容,以及您现在运行代码时实际得到的信息。