2016-10-30 39 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