English 中文(简体)
Argument Option
  • 时间:2024-11-05

Apache Commons CLI - Argument Option


Previous Page Next Page  

An Argument option is represented on a command pne by its name and its corresponding value. For example, if option is present, then user has to pass its value. Consider the following example, if we are printing logs to some file, for which, we want user to enter name of the log file with the argument option logFile.

Example

CLITester.java


import org.apache.commons.cp.CommandLine;
import org.apache.commons.cp.CommandLineParser;
import org.apache.commons.cp.DefaultParser;
import org.apache.commons.cp.Option;
import org.apache.commons.cp.Options;
import org.apache.commons.cp.ParseException;

pubpc class CLITester {
   pubpc static void main(String[] args) throws ParseException {
      Options options = new Options();
      Option logfile = Option.builder()
         .longOpt("logFile")
         .argName("file" )
         .hasArg()
         .desc("use given file for log" )
         .build();

      options.addOption(logfile);
      CommandLineParser parser = new DefaultParser();
      CommandLine cmd = parser.parse( options, args);
      
      // has the logFile argument been passed?
      if(cmd.hasOption("logFile")) {
         //get the logFile argument passed
         System.out.println( cmd.getOptionValue( "logFile" ) );
      }
   }
}

Output

Run the file, while passing --logFile as option, name of the file as value of the option and see the result.


java CLITester --logFile test.log
test.log
Advertisements