Apache Commons CLI - Tùy chọn Boolean

Một tùy chọn boolean được biểu diễn trên một dòng lệnh bởi sự hiện diện của nó. Ví dụ, nếu có tùy chọn thì giá trị của nó là true, ngược lại, nó được coi là false. Hãy xem xét ví dụ sau, nơi chúng tôi đang in ngày hiện tại và nếu -t có cờ. Sau đó, chúng tôi cũng sẽ in thời gian.

Thí dụ

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

Đầu ra

Chạy tệp mà không chuyển bất kỳ tùy chọn nào và xem kết quả.

java CLITester
12/11/2017

Chạy tệp, trong khi chuyển -t làm tùy chọn và xem kết quả.

java CLITester
12/11/2017 4:13:10