كيفية الأنابيب المعياري من رائع الأسلوب في سلسلة
-
02-07-2019 - |
سؤال
كيف تحتج رائع الأسلوب الذي يطبع stdout إلحاق الإخراج إلى سلسلة ؟
المحلول
يوضح هذا كيف يمكنك أن تفعل هذا.لصق هذا رائع النصي الملف وتشغيله.سوف نرى أول استدعاء وظائف كالمعتاد.الدعوة الثانية تنتج أي نتائج.وأخيرا ، فإن الخطوة الأخيرة في أهم المطبوعات نتائج الدعوة الثانية التي تم إعادة توجيهها إلى ByteArrayOutputStream.
وقد متعة!
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()
نصائح أخرى
لست متأكدا ماذا تقصد ب "إلحاق الإخراج إلى سلسلة" ولكن يمكنك طباعة القياسية باستخدام "طباعة" أو "println".
لا تنتمي إلى StackOverflow