2016-10-30 111 views
0

我写了这样的Groovy脚本:如何在Groovy中使用System.in.readLine()?

print "Please enter your name:" 
def name=System.in.readLine() 
println "My name is : ${name}" 

但是,当我跑了,我得到了一个例外:

抛出异常 groovy.lang.MissingMethodException:法无签名:java的。 io.BufferedInputStream.readLine()适用于参数类型:()values:[] 可能的解决方案:readLines(),readLines(java.lang.String),eachLine(groovy.lang.Closure),eachLine(java.lang .String,groovy.lang.Closure),eachLine(int,groovy.lang.Closure),eachLine(java.lang.String,int,groovy.lang.Closure)

我发现System.in.readLines()确实有效,但该方法读取多行。
此外,基本输入功能只能在命令行中运行。在GroovyConsole中,当我运行脚本时,我无法输入任何内容。
任何资深人士都可以帮到我吗?非常感谢!

回答

0

使用System.console().readLine()

def name=System.console().readLine("Please enter your name: ") 
println "My name is : ${name}" 
+0

是的!有用!万分感谢!但我仍然好奇。为什么System.in.readLine()不工作?说明书是这样做的 – Julian20151006