我试图在控制台中通过读取用户的输入来获得等效的文本框,直到达到某个终结符序列,但我无法弄清楚如何让它终止。
这里是应该读取输入并将其写入文件的代码:
try {
out = new BufferedWriter(new FileWriter("outagain.txt");
userInput = new Scanner(System.in);
String input;
while ((input = userInput.nextLine)) != null) {
out.write(input);
out.newLine();
input = null;
}
} finally {
if (userInput != null)
userInput.close();
if (out != null)
out.close();
是否有某些方法可以捕获逃生"代码"来自用户(即他们写":END"它会突破循环)还是有另一种方法可以做到这一点?
提前谢谢。
答案 0 :(得分:1)
您可以通过将每个输入行与特定终止字进行比较来实现。
假设终止字为:END
,那么我们可以使用termination word
检查每个输入行。
如果我们发现终止字作为输入,我们将打破循环并停止从用户那里获取输入并关闭BufferedReader
以及Scanner
。
示例代码:
try
{
out = new BufferedWriter(new FileWriter("outagain.txt"));
userInput = new Scanner(System.in);
String input = userInput.nextLine(); //Store first input line in the variable
String Termination_Word = ":END";
while(!input.equals(Termination_Word)) //Everytime Check it with the termination word.
{
out.write(input); //If it isnot a termination word, Write it to the file.
out.newLine();
input=userInput.nextLine(); //Take other line as an input.
}
}
finally
{
if (userInput != null)
userInput.close();
if (out != null)
out.close();
}