如何使用扫描程序使用java从文本文件中删除一行

我有一个名为BookingDetails.txt的文本文件

在文件里面有一行记录

Abid Akmal 18/11/2013 0122010875 Grooming Zalman 5 125.0 Dog 

它来自

 First name: Abid, Last name: Akmal, Date, phone number, type of services, pet name, days of stay, cost, and type of pet. 

我想创建一个用户输入函数,当用户输入名字和姓氏时,整行都被删除。 但请注意,它只会影响该特定行,因为它们将在文本文件中提供更多预订条目。

这只是我的程序的一部分,我不知道该怎么做。 我基本上都被困在这里。

该程序将如下所示。

欢迎使用删除菜单:

输入名字:Bla bla bla输入姓氏:Bla

然后会出现一条消息,说已删除记录。

尝试这样的事情。 代码读取文件的每一行。 如果该行不包含名称,则该行将写入临时文件。 如果该行包含名称,则不会将其写入临时文件。 最后,临时文件被重命名为原始文件。

 File inputFile = new File("myFile.txt"); // Your file File tempFile = new File("myTempFile.txt");// temp file BufferedReader reader = new BufferedReader(new FileReader(inputFile)); BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile)); Scanner scanner = new Scanner(System.in); System.out.println("Enter firstName"); String firstName = scanner.nextLine(); System.out.println("Enter lastName"); String lastName = scanner.nextLine(); String currentLine; while((currentLine = reader.readLine()) != null) { if(currentLine.contains(firstName) && currentLine.contains(lastName)) continue; writer.write(currentLine); } writer.close(); boolean successful = tempFile.renameTo(inputFile); System.out.println(successful);