我当前正在编写一个Java应用程序以自动化损坏的链接测试。我想做的是编写命令
java test.jar
用户必须写
-f file.txt
在同一comand行中,包括包含包含要测试的所有URL页面的文件。另外,我希望用户(可选地)在其中找到所有要忽略所有URL的文件。例如
-ignore ignoreUrl.txt
这是您发现非常有用的库:https://commons.apache.org/proper/commons-cli/
在您的情况下是:
private Options createOptions() {
Options result = new Options();
Option file = Option.builder("f")
.required()
.argName("f")
.desc("Name of the file.")
.hasArg()
.build();
Option ignore = Option.builder("i")
.argName("ignore")
.desc("File name to ignore")
.hasArg()
.build();
result.addOption(file);
result.addOption(ignore);
return result;
}
public boolean parse(String[] args) {
if (args == null || args.length == 0) {
return false;
}
CommandLineParser parser = new DefaultParser();
try {
commandLine = parser.parse(createOptions(), args);
} catch (ParseException e) {
e.printStackTrace();
return false;
}
return true;
}
请注意,在parse()方法中,您有一个对"命令行"的引用。从那里您可以使用:
commandLine.getOptionValue("f")
获取文件名等。