我刚刚开始学习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()}"