我刚刚开始学习 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/