java - Java 控制台中的多行读取不会退出

标签 java console

我正在使用以下代码在 Java 中进行多行读取。问题是,由于控制台正在运行,它永远不会退出 while 循环。我怎样才能让它做到这一点?

谢谢

Scanner scanner = new Scanner(System.in);
    while (scanner.hasNextLine()) {
        String temp = scanner.nextLine();
        data.add(temp);
        log.info(data.toString());
    }
    scanner.close();

最佳答案

从扫描仪的角度来看,

System.in 将始终有下一行,因为它始终等待新的输入。如果输入中没有空行,则可以在输入末尾添加一个空行,然后在循环末尾添加:

if(temp.isEmpty()){
   break;
}

关于java - Java 控制台中的多行读取不会退出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49861963/

相关文章:

console - 返回 REPL 中行的开头

Java Integer.parseInt 解析字符串失败

java - Spring 3 Java 配置 : Imported @Configuration not enhanced?

Java:如何允许在 JTextField 中按下退格键

ruby-on-rails - 如何检测我的代码是否在 Rails 3 的控制台中运行?

c - 如何让我的 Eclipse CPP 月球显示输出?

java - 克隆谓词

java - 在java方法中重新编译源代码?

r - 从函数内打印到 R 控制台

javascript - 使用浏览器控制台添加元素