2017-06-08 32 views
1

我知道,下面的代码会生成并打印的帮助文本控制台我如何“得到”从公地帮助字符串命令行界面,而不是“打印”

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

但我如何得到帮助文本作为String对象。我期待类似

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

是否有任何隐藏在CLI API中的方法?或者有什么方法获得帮助文本,而不是将其打印到控制台。

回答

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了解详情。

+0

它工作兄弟:) tnx – theapache64