1

私はBeanShellを使用して、いくつかの計算を実行してからコンソールに出力する単純なファイルを解釈してきました。物事は、私は出力を取得したいです。そのようなものから私はどこかに置くための文字列としてSystem.out.println("test");得ることができます。"test"

私は見てきましたがInterpreter.getOut()、それが実際に何のためにあるのか理解できませんでした(ドキュメントはそれほど役に立ちません)。PrintStream使用法をつかんでgetOut()中身を印刷してみましたが、空です。また、いじった後、次のことを試しました。

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

しかし、それも空です。

4

1 に答える 1

0
Interpreter i = new Interpreter();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PrintStream ps = new PrintStream(baos);

System.setOut(ps);

try {
  //i.eval("System.out.println(\"test\");");
  i.source("c:\\htdocs\\test.bsh");
} catch (Exception e) {
  // TODO Auto-generated catch block
  e.printStackTrace();
}

String out = "hello : "+baos.toString();
System.err.println(out);
于 2012-04-10T13:44:17.130 に答える