如何从Commons CLI中“获取”帮助字符串而不是“打印”?

5
我知道,下面的代码将生成并打印帮助文本到控制台。
 HelpFormatter formatter = new HelpFormatter();
 formatter.printHelp("myapp", header, options, footer, true);

但是我如何将帮助文本作为String对象获取?我期望得到类似以下的内容:
formatter.getHelp("myapp", header, options, footer, true);

CLI API中是否有隐藏的方法?或者是否有获取帮助文本而不是将其打印到控制台的方法。


谢谢你的询问,这样我们就不必自己问了 :) - user8897013
1个回答

6

以下是您可以做的:

    HelpFormatter formatter = new HelpFormatter();

    StringWriter out = new StringWriter();
    PrintWriter pw = new PrintWriter(out);

    formatter.printHelp(pw, 80, "myapp", "test-header", opts,
            formatter.getLeftPadding(), formatter.getDescPadding(), "test-footer", true);
    pw.flush();

    System.out.println("Had usage: " + out.toString());

查看JavaDoc了解详细信息。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接