2013-11-28 6 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) BTW - 질문이 * 있습니까? 질문은 무엇입니까? –

답변

1

BookingDetails.txt을 삭제하고 TempBooking.txt의 이름을 BookingDetails.txt으로 변경하십시오.

또는

는 모든 TempBooking.txt에서 BookingDetails.txt