本文正在参加「Java主题月 - Java Debug笔记活动」,详情查看活动链接
如何解析Java中的命令行参数?
在Java中解析命令行参数的好方法是什么?
高分回答:
检查这些:
http://commons.apache.org/cli/
http://www.martiansoftware.com/jsap/
或自己动手:
http://docs.oracle.com/javase/7/docs/api/java/util/Scanner.html
例如,这是commons-cli解析2个字符串参数的方法:
import org.apache.commons.cli.*;
public class Main {
public static void main(String[] args) throws Exception {
Options options = new Options();
Option input = new Option("i", "input", true, "input file path");
input.setRequired(true);
options.addOption(input);
Option output = new Option("o", "output", true, "output file");
output.setRequired(true);
options.addOption(output);
CommandLineParser parser = new DefaultParser();
HelpFormatter formatter = new HelpFormatter();
CommandLine cmd;
try {
cmd = parser.parse(options, args);
} catch (ParseException e) {
System.out.println(e.getMessage());
formatter.printHelp("utility-name", options);
System.exit(1);
}
String inputFilePath = cmd.getOptionValue("input");
String outputFilePath = cmd.getOptionValue("output");
System.out.println(inputFilePath);
System.out.println(outputFilePath);
}
}
从命令行使用:
$> java -jar target/my-utility.jar -i asd
Missing required option: o
usage: utility-name
-i,--input <arg> input file path
-o,--output <arg> output file
高分回答:
看看最近的[JCommander。](https://translate.google.com/website?sl=en&tl=zh-CN&ajax=1&u=http://jcommander.org/)
我创造了它。我很高兴收到问题或功能要求。
文章翻译自kgs4h5t57thfb6iyuz6dqtun5y-ac4c6men2g7xr2a-stackoverflow-com.translate.goog/questions/3…
作者建议: commons.apache.org/cli/
真心感谢帅逼靓女们能看到这里,如果这个文章写得还不错,觉得有点东西的话
求点赞👍 求关注❤️ 求分享👥 对8块腹肌的我来说真的 非常有用!!!
如果本篇博客有任何错误,请批评指教,不胜感激 !❤️❤️❤️❤️