Jam*_*mes 19 groovy input groovy-console
我刚刚开始学习Groovy,我正在GroovyConsole中进行实验.
有没有办法可以阅读用户输入?我试过下面的代码,但是我收到了一个错误.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in)) print "Input:" input = br.readLine() println "You entered: $input"
这是我收到的错误:
Exception thrown 17-Apr-2012 02:52:39 org.codehaus.groovy.runtime.StackTraceUtils sanitize WARNING: Sanitizing stacktrace: java.io.IOException: Stream closed
有什么我需要导入的吗?
任何帮助都会很棒.
谢谢
Ren*_*ato 35
我来到这里试图找出从命令行读取用户输入的最简单方法...我在其他地方找到答案,将在此处发布以记录"真正的"Groovy方式,因为它仍然缺失:
def username = System.console().readLine 'What is your name?'
println "Hello $username"
Run Code Online (Sandbox Code Playgroud)
正如Larry Battle所说,如果使用groovy控制台,请确保查看输出的背景"黑色"窗口并输入输入.
编辑
在Console不可用的环境中,例如从IDE运行,可能请改用:
println "What is your name?"
println "Your name is ${System.in.newReader().readLine()}"
Run Code Online (Sandbox Code Playgroud)
use*_*761 25
def readln = javax.swing.JOptionPane.&showInputDialog
def username = readln 'What is your name?'
println "Hello $username."
Run Code Online (Sandbox Code Playgroud)
Lar*_*tle 11
你的代码有效.
BufferedReader br = new BufferedReader(new InputStreamReader(System.in))
print "Input:"
def userInput = br.readLine()
println "You entered: $userInput"
Run Code Online (Sandbox Code Playgroud)
假设您在Windows上,唯一的问题是在groovyconsole之前启动的后台从控制台读取输入.

| 归档时间: |
|
| 查看次数: |
47050 次 |
| 最近记录: |