Java覆盖文件

时间:2013-11-28 05:44:12

标签: java

我现在有问题。我创建了一个简单的宠物酒店应用程序,我想实现一个删除功能,以便用户可以删除现有的预订。

                              //the main one.
                              System.out.println("---------------------------");
                              System.out.println("Welcome to the delete menu:");
                              System.out.println("---------------------------");
                              Scanner scanner = new Scanner(System.in);
                                System.out.println("Enter owner's first name");
                                String firstName = scanner.nextLine();
                                System.out.println("Enter owner's last name");
                                String lastName = scanner.nextLine();

                             delete(firstName, lastName);

                             //the delete class



public static void delete(String firstName, String lastName) throws Exception
{

    File inputFile = new File("BookingDetails.txt");   // Your file  
    File tempFile = new File("TempBooking.txt");// temp file
    BufferedReader reader = new BufferedReader(new FileReader(inputFile));
    BufferedWriter writer = new BufferedWriter(new FileWriter(tempFile));
    String currentLine;
    while((currentLine = reader.readLine()) != null) 
    {
        if(currentLine.contains(firstName) && currentLine.contains(lastName)) 
        continue;
        writer.write(currentLine+"\n");
    }
        writer.close();
}

已经存在预订文件 其中包含此详细信息。

Abid Akmal 03/09/2013 0129928272 Checkup File 10 250.0 Dog
Zhi Kai 12/11/2013 1029918811 Grooming Pika 1 25.0 Rabbit
Vincent Che 12/03/2013 0129817711 Grooming Fleese 2 50.0 Dog

它是一个用户输入,所以当用户想要删除记录时,他们会输入例如Zhi作为名字,Kai作为姓氏,之后 出现一个新的文件夹TempBooking.txt,其他两个预订详细信息仍然存在但原始的BookingDetails.txt文件夹仍然存在原始预订记录。 我现在的问题是覆盖文件的功能是什么,因此临时文件(TempBooking.txt)将更改为BookingDetails.txt。

1 个答案:

答案 0 :(得分:1)

要么删除BookingDetails.txt并将TempBooking.txt重命名为BookingDetails.txt

将您的所有内容从TempBooking.txt写入BookingDetails.txt