Интерфейс командной строки Apache Commons - логический параметр
Логическая опция представлена в командной строке своим присутствием. Например, если опция присутствует, то ее значение истинно, в противном случае она считается ложной. Рассмотрим следующий пример, где мы печатаем текущую дату и присутствует флаг -t. Тогда мы тоже напечатаем время.
пример
CLITester.java
import java.util.Calendar;
import java.util.Date;
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.DefaultParser;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
public class CLITester {
public static void main(String[] args) throws ParseException {
Options options = new Options();
options.addOption("t", false, "display time");
CommandLineParser parser = new DefaultParser();
CommandLine cmd = parser.parse( options, args);
Calendar date = Calendar.getInstance();
int day = date.get(Calendar.DAY_OF_MONTH);
int month = date.get(Calendar.MONTH);
int year = date.get(Calendar.YEAR);
int hour = date.get(Calendar.HOUR);
int min = date.get(Calendar.MINUTE);
int sec = date.get(Calendar.SECOND);
System.out.print(day + "/" + month + "/" + year);
if(cmd.hasOption("t")) {
System.out.print(" " + hour + ":" + min + ":" + sec);
}
}
}
Выход
Запустите файл, не передавая никаких параметров, и посмотрите результат.
java CLITester
12/11/2017
Запустите файл, передав -t в качестве опции, и посмотрите результат.
java CLITester
12/11/2017 4:13:10