Question

Comment invoque-t-on une méthode groovy qui s'imprime sur la sortie standard en ajoutant le résultat à une chaîne?

Était-ce utile?

La solution

Ceci montre comment vous pouvez faire cela. Collez ceci dans un fichier de script Groovy et exécutez-le. Vous verrez le premier appel fonctionner normalement. Le deuxième appel ne produit aucun résultat. Enfin, la dernière étape dans la fenêtre principale imprime les résultats du deuxième appel redirigé vers un ByteArrayOutputStream.

Amusez-vous!

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()

Autres conseils

Je ne suis pas sûr de comprendre ce que vous entendez par "ajouter la sortie à une chaîne", mais vous pouvez imprimer en sortie standard à l'aide de "print". ou "println".

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top