我如何 'get' 来自 commons cli 的帮助字符串而不是 'print'

How do i 'get' help string from commons cli instead of 'print'

我知道,下面的代码将生成帮助文本并将其打印到控制台

 HelpFormatter formatter = new HelpFormatter();
 formatter.printHelp("myapp", header, options, footer, true);

但是我如何获得作为 String 对象的帮助文本。我期待

formatter.getHelp("myapp", header, options, footer, true);

CLIAPI里面有没有隐藏的方法?或者有什么方法可以获取帮助文本而不是将其打印到控制台。

您可以执行以下操作

    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