2013-11-28 133 views
0

我現在有一個問題。我創建了一個簡單的寵物旅館應用程序,我想實現刪除功能,以便用戶可以刪除現有的預訂。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 

這是一個用戶輸入,所以當用戶要刪除的記錄,他們將例如智輸入作爲第一個名稱和凱爲姓,這 後TempBooking.txt與其他兩個預訂出現一個新的文件夾仍然存在的細節但原始的BookingDetails.txt文件夾仍然與原始預訂記錄一起存在。 我現在的問題是什麼函數覆蓋文件,所以臨時文件(TempBooking.txt)將更改爲BookingDetails.txt。

+2

1)使用的代碼塊一致性和邏輯縮進。代碼的縮進旨在幫助人們理解程序流程。 2)爲了更快地獲得更好的幫助,請發佈[SSCCE](http://sscce.org/)。 3)順便說一句 - 你有*問題*?什麼是問題? –

回答

1

要麼刪除BookingDetails.txt並將TempBooking.txt重命名爲BookingDetails.txt

編寫所有的內容從TempBooking.txtBookingDetails.txt