我一直在使用 BeanShell 来解释只进行一些计算然后输出到控制台的简单文件。问题是,我想获取输出。这样System.out.println("test");
我就可以把"test"
它作为一个字符串放在其他地方。
我看过Interpreter.getOut()
,但我还没有设法理解它的实际用途(文档没有那么有用)。我尝试抓取PrintStream
usinggetOut()
然后打印其内容,但它是空的。在搞砸之后,我还尝试了以下操作:
Interpreter i = new Interpreter();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PrintStream ps = new PrintStream(baos);
i.setOut(ps);
i.eval("System.out.println(\"test\");");
String out = baos.toString();
但这也是空的。