【发布时间】:2011-05-10 00:36:04
【问题描述】:
我正在尝试为棋盘游戏实现用户输入界面。我试图一次获取用户输入,然后将其写入文件(因为我需要保存用户所做的移动列表)。到目前为止,我所拥有的效果很好(读取输入并将其写入文件),但是,每当用户想要停止输入时,程序就会停止工作。 IE;当你按下 ctrl+c 时,程序就结束了。
这是我目前所拥有的,fileName 变量已在主函数之外声明
public static void main(String[] args) throws IOException {
BufferedReader inputReader = new BufferedReader (new InputStreamReader (System.in));
try {
FileWriter outFile = new FileWriter (fileName);
PrintWriter out = new PrintWriter (outFile);
System.out.print ("Enter move: ");
String line = inputReader.readLine();
while (line != null) {
System.out.print ("Enter move: ");
out.write(inputReader.readLine());
out.write(" ");
}
out.close();
} catch (IOException e) {
System.out.println (e.getMessage());
}
System.out.println ("Reached here");
}
我想要做的是每当用户想要停止输入时,我想到达显示“到达这里”的打印行。我想这样做是因为一旦在循环之外,我可以读取文件,然后拆分输入并对其进行操作。我记得在用 C 编程时,曾经有过 while (input != EOF);每当用户输入 ctrl+d 或 ctrl+c 时,它都会停止正在执行的操作,然后移至下一行代码。 我怎样才能在java中做到这一点?
非常感谢。
【问题讨论】:
-
Control-C 将终止您的应用程序