터미널 실행시 문자열 입력을 받아 텍스트 파일에 저장하는 작은 Java 응용 프로그램이 있습니다. 종료 할 응용 프로그램을 묻는 문자열 exit
이 있습니다. 그러나 어떤 이유에서 문자열 exit
이 루프에 while(!)
루프가 있음에도 불구하고 문서에 추가됩니다. 무엇이 문제 일 수 있습니까?while 루프에서 조건에도 불구하고 스캐너 입력이 텍스트 파일에 추가됩니다.
try{
Scanner scanner = new Scanner(System.in);
String input = null;
while(!"exit".equalsIgnoreCase(input)){
input = scanner.nextLine();
String fileLocation = "/Users/myName/Dropbox/myDocument.txt";
FileWriter writer = new FileWriter(fileLocation,true);
writer.append(returnDate()+": ");
writer.append(input + "\n");
writer.flush();
writer.close();
}
}catch(Exception e){
e.printStackTrace();
}
코드에 문제가 너무 많습니다. 루프 상태가 처리 된 후 검사하고 있습니다. 또한 반복적으로 새로운 FileWriter를 작성하고 있습니다. 루프 외부에서 FileWriter를 이동하십시오. 'scanner.hasNextLine()'을 루프 조건으로 사용하고 입력이 "exit"문자열과 일치하는지 확인하십시오. – goblinjuice
감사합니다. 필자는 파일 작성자 문제를 해결했습니다. – theGreenCabbage