Java 我如何';获取';来自commons cli的帮助字符串,而不是';打印';

Java 我如何';获取';来自commons cli的帮助字符串,而不是';打印';,java,apache-commons,apache-commons-cli,Java,Apache Commons,Apache Commons Cli,我知道,下面的代码将生成帮助文本并将其打印到控制台 HelpFormatter formatter = new HelpFormatter(); formatter.printHelp("myapp", header, options, footer, true); 但是如何将帮助文本作为字符串对象获取呢。我期待着像这样的事情 formatter.getHelp("myapp", header, options, footer, true); CLIAPI中是否隐藏了任何方法?或者有没有

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

 HelpFormatter formatter = new HelpFormatter();
 formatter.printHelp("myapp", header, options, footer, true);
但是如何将帮助文本作为
字符串
对象获取呢。我期待着像这样的事情

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

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

您可以执行以下操作

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

有关详细信息,请参阅。

谢谢您的询问,因此我们不必:)