2016-10-30 5 views
0

는이 같은 그루비 스크립트 작성 :Groovy에서 System.in.readLine()을 사용하는 방법?

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

을하지만 그것을 실행했을 때, 나는 예외 가지고 :

예외 발생 groovy.lang.MissingMethodException : 방법 없음 서명 : 자바. io.BufferedInputStream.readLine()은 인수 유형에 적용 할 수 있습니다.() values ​​: [] 가능한 해결책 : readLines(), readLines (java.lang.String), eachLine (groovy.lang.Closure), eachLine .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