import gnu.getopt.Getopt; import gnu.getopt.LongOpt; public class CommandLineParser { public static void main(String[] args) { LongOpt[] longOpts = new LongOpt[]{ new LongOpt("input", LongOpt.REQUIRED_ARGUMENT, null, 'i'), new LongOpt("output", LongOpt.REQUIRED_ARGUMENT, null, 'o'), new LongOpt("verbose", LongOpt.NO_ARGUMENT, null, 'v'), new LongOpt("help", LongOpt.NO_ARGUMENT, null, 'h') }; Getopt getopt = new Getopt("command", args, "i:o:vh", longOpts); int opt = 0; String input = null; String output = null; boolean verbose = false; while ((opt = getopt.getopt()) != -1) { switch (opt) { case 'i': input = getopt.getOptarg(); break; case 'o': output = getopt.getOptarg(); break; case 'v': verbose = true; break; case 'h': printHelp(); System.exit(0); default: printHelp(); System.exit(1); } } System.out.println("Input: " + input); System.out.println("Output: " + output); System.out.println("Verbose: " + verbose); } private static void printHelp() { System.out.println("Usage: command -i <input> -o <output> [-v] [-h]"); System.out.println("-i, --input <input> Set input file path"); System.out.println("-o, --output <output> Set output file path"); System.out.println("-v, --verbose Enable verbose mode"); System.out.println("-h, --help Print help message"); } } shell javac -cp .:path/to/getopt.jar CommandLineParser.java java -cp .:path/to/getopt.jar CommandLineParser -i input.txt -o output.txt -v


上一篇:
下一篇:
切换中文