有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何从commons cli“获取”帮助字符串而不是“打印”

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

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

但是如何将帮助文本作为String对象获取呢。我期待着像这样的事情

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

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


共 (1) 个答案

  1. # 1 楼答案

    您可以执行以下操作

        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