Как "получить" строку справки из обыкновенного кли, а не "печатать"
Я знаю, приведенный ниже код будет генерировать и печатать текст справки в консоли
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 для деталей.