有没有办法在 Nashorn 中捕获 print('hello world') 的结果并将其放置在 String 对象中。
我试过这个:
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PrintStream ps = new PrintStream(baos, true);
System.setOut(ps);
String result = (String)engine.eval("print('hello world')");
if (result != null) {
System.out.println(result);
} else {
System.out.println(baos.toString());
}
当引擎评估这个javascript时,它只是打印到标准输出,所以我想我只是将标准输出重定向到我自己的OutputStream,然后将它转换为字符串,但它不起作用。
有什么想法吗?