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

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

BufferedReader br =新的BufferedReader(新的InputStreamReader(System.in))

打印“输入:”

输入= br.readLine()

println“您输入:$ input”

这是我收到的错误:

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

警告:清理堆栈跟踪:

java.io.IOException:流关闭

我需要导入什么吗?

任何帮助都会很棒。

谢谢

最佳答案

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

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

正如拉里·巴特(Larry Battle)所说,如果使用常规的控制台,请确保在背景“黑色”窗口中查看输出并键入输入。

编辑

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

10-04 14:32