私はほぼ完成したプログラムを持っています。唯一の問題は、ユーザーが「exit」と入力してプログラムを強制終了すると、「exit」という単語が最後にファイル「quotes.txt」に書き込まれることです。プログラムが最初に「exit」をチェックし、「quotes.txt」に書き込まないようにするにはどうすればよいですか?
コードは次のとおりです。
public static void main(String[] args) throws IOException {
final Formatter fo;
BufferedWriter bw = null;
BufferedReader in = new BufferedReader(new FileReader("quotes.txt"));
String input = "";
String line;
File quotesFile = new File("quotes.txt");
if (quotesFile.exists()) {
System.out.println(quotesFile.getName() + " exists.");
} else {
System.out.println("THIS DOES NOT EXIST.");
}
try {
fo = new Formatter("quotes.txt");
System.out.println("File created or found.");
} catch (Exception e) {
System.out.println("You have an error.");
}
do {
try {
Scanner kb = new Scanner(System.in);
if (!input.equalsIgnoreCase("exit")) {
System.out.println("Enter your text(Type 'exit' to close program.): ");
bw = new BufferedWriter(new FileWriter(quotesFile, true));
input = kb.nextLine();
bw.write(input);
bw.newLine();
bw.close();
System.out.println("Entry added.\n");
}
} catch (Exception e) {
System.out.println("Error.");
}
} while (!input.equalsIgnoreCase("exit"));
System.out.println("Results: ");
while ((line = in.readLine()) != null) {
System.out.println(line);
}
}
}