Groovy 控制台读取输入

标签 groovy input groovy-console

我刚刚开始学习 Groovy,我正在 GroovyConsole 中进行试验。

有没有办法读取用户输入?我已经尝试了下面的代码,但出现错误。

BufferedReader br = new BufferedReader(new InputStreamReader(System.in))

打印“输入:”

输入 = br.readLine()

println "你输入了:$input"

这是我收到的错误:

抛出异常
2012 年 4 月 17 日 02:52:39 org.codehaus.groovy.runtime.StackTraceUtils sanitizer

警告:清理堆栈跟踪:

java.io.IOException: 流关闭

有什么我需要导入的吗?

任何帮助都会很棒。

谢谢

最佳答案

我来到这里试图找出从命令行读取用户输入的最简单方法......
我找到了答案 elsewhere ,将在此处发布以记录“真正的”Groovy 方式,因为它仍然缺失:

def username = System.console().readLine 'What is your name?'
println "Hello $username"

正如 Larry Battle 所说,如果使用 groovy 控制台,请确保查看输出的背景“黑色”窗口并键入输入。

编辑

Console 的环境中不可用,例如从您的 IDE 运行,可能,请改用它:
println "What is your name?"
println "Your name is ${System.in.newReader().readLine()}"

关于Groovy 控制台读取输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10184091/

相关文章:

groovy - 如何在接口(interface)中使用 Groovy 的属性?

java - 我们如何将空字符串数组添加到 org.codehaus.groovy.ast.parameter 中?

groovy - 响应式编程的构建器模式

java - 使用 Java 11 在 groovyconsole 中执行脚本会生成缺少 JAXB 依赖项异常

Groovy:如何在 setProperty() 中设置属性并避免无限递归?

c - 在C中将字母数字存储为未知数量的数字

c - 输入写入 C 中数组的错误位置

C++如何在不破坏程序的情况下输入用户值

json - 从控制台到导入Grails转换器的挣扎

groovy - 如何配置 GroovyConsole 以便我不必在启动时导入库?