import net.sourceforge.argparse4j.ArgumentParsers;
import net.sourceforge.argparse4j.impl.Arguments;
import net.sourceforge.argparse4j.inf.ArgumentParser;
import net.sourceforge.argparse4j.inf.Namespace;
public class CommandLineParser {
public static void main(String[] args) {
ArgumentParser parser = ArgumentParsers.newFor("CommandLineParser")
.build()
.description("A simple command line parser using Argparse4j");
parser.addArgument("input")
.help("Input file");
parser.addArgument("-o", "--output")
.setDefault("output.txt")
.help("Output file");
parser.addArgument("--verbose")
.action(Arguments.storeTrue())
.help("Enable verbose mode");
try {
Namespace namespace = parser.parseArgs(args);
String inputFile = namespace.getString("input");
String outputFile = namespace.getString("output");
boolean verbose = namespace.getBoolean("verbose");
System.out.println("Input file: " + inputFile);
System.out.println("Output file: " + outputFile);
System.out.println("Verbose mode: " + verbose);
} catch (Exception e) {
parser.handleError(e);
}
}
}
<dependencies>
<dependency>
<groupId>net.sourceforge.argparse4j</groupId>
<artifactId>argparse4j</artifactId>
<version>0.9.0</version>
</dependency>
</dependencies>