OptionParser parser = new OptionParser();
parser.accepts("verbose").withOptionalArg().ofType(Boolean.class)
.defaultsTo(false).describedAs("enable verbose output");
parser.accepts("input").withOptionalArg().ofType(String.class)
.describedAs("input file path").required();
parser.accepts("count").withOptionalArg().ofType(Integer.class)
.defaultsTo(1).describedAs("number of iterations");
OptionSet options = parser.parse(args);
boolean verbose = options.has("verbose");
String inputFilePath = (String) options.valueOf("input");
int count = (int) options.valueOf("count");
System.out.println("Verbose mode: " + verbose);
System.out.println("Input file path: " + inputFilePath);
System.out.println("Number of iterations: " + count);
import joptsimple.OptionParser;
import joptsimple.OptionSet;
public class CommandLineParserExample {
public static void main(String[] args) {
OptionParser parser = new OptionParser();
parser.accepts("verbose").withOptionalArg().ofType(Boolean.class)
.defaultsTo(false).describedAs("enable verbose output");
parser.accepts("input").withOptionalArg().ofType(String.class)
.describedAs("input file path").required();
parser.accepts("count").withOptionalArg().ofType(Integer.class)
.defaultsTo(1).describedAs("number of iterations");
OptionSet options = parser.parse(args);
boolean verbose = options.has("verbose");
String inputFilePath = (String) options.valueOf("input");
int count = (int) options.valueOf("count");
System.out.println("Verbose mode: " + verbose);
System.out.println("Input file path: " + inputFilePath);
System.out.println("Number of iterations: " + count);
}
}
<dependency>
<groupId>net.sourceforge.argparse4j</groupId>
<artifactId>argparse4j</artifactId>
<version>0.8.1</version>
</dependency>
"tags": [
"Java",
"Optparse",
]
}