Frage

Wie kann man eine groovige Methode aufrufen, die auf die Standardausgabe druckt, die Ausgabe in eine Zeichenfolge anhängt?

War es hilfreich?

Lösung

Dies zeigt, wie Sie dies tun können. Fügen Sie diese in eine Groovy-Skriptdatei und führen Sie es. Sie werden die ersten Anruffunktionen wie gewohnt sehen. Der zweite Aufruf erzeugt keine Ergebnisse. Schließlich druckt der letzte Schritt in der Haupt der Ergebnisse des zweiten Anrufs, der an eine ByteArrayOutputStream umgeleitet wurden.

Viel Spaß!

void doSomething() {
  println "i did something"
}

println "normal call\n---------------"
doSomething()
println ""

def buf = new ByteArrayOutputStream()
def newOut = new PrintStream(buf)
def saveOut = System.out

println "redirected call\n---------------"
System.out = newOut
doSomething()
System.out = saveOut
println ""

println "results of call\n---------------"
println buf.toString()

Andere Tipps

Ich bin nicht sicher, was Sie unter „die Ausgabe in eine Zeichenfolge anhängt“, aber Sie können auf die Standardausgabe Drucken mit „print“ oder „println“.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top