需要加入 依赖包

commons-cli
commons-cli
1.3.1

首先实现一个 调用类:

import org.apache.commons.cli.HelpFormatter;
import org.apache.commons.cli.Options;
import cn.v1.video.crawl.document.DocumentParser;
import cn.v1.video.crawl.document.HttpClientDocumentParserImpl;
import cn.v1.video.crawl.document.HttpUnitDocumentParserImpl;
/**
* 需要加入 依赖包
* 
commons-cli
commons-cli
1.3.1
* @author Administrator
*
*/
public class Cli {
private static final Options options = new Options();
private static final DocumentParser httpDocumentParser=new HttpClientDocumentParserImpl();
private static final DocumentParser httpUnitDocumentParser=new HttpUnitDocumentParserImpl();
static{
/**
* 第一个参数 命令的简写; 第二个参数命令 命令的全写; 第三参数表示是否有参数; 第四个参数 代表 参数的说明
*/
// 添加 -h 参数
options.addOption("h", "help",false, "The command help");
options.addOption("b", "http",true, "input url and crawl by http");
options.addOption("t", "httpUnit",true, "input url and crawl by httpUnit");
}
public static void help(){
/**
* 打印命令帮助提示
*/
HelpFormatter hf = new HelpFormatter();
hf.printHelp("help info", options);
}
public static void crawlByHttp(String url){
try {
String content=httpDocumentParser.getContent(url);
System.out.println(content);
} catch (Exception e) {
e.printStackTrace();
}
}
public static void crawlByHttpUnit(String url){
try {
String content=httpUnitDocumentParser.getContent(url);
System.out.println(content);
} catch (Exception e) {
e.printStackTrace();
}
}
public static Options getOptions(){
return options;
}
}

添加调用执行

import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.DefaultParser;
import org.apache.commons.cli.ParseException;
public class StartUp
{
public static void main( String[] args )
{
try {
if(args==null || args.length==0 ){
Cli.help();
return;
}
CommandLineParser parser = new DefaultParser(); //默认的匹配器
CommandLine cmd = parser.parse(Cli.getOptions(), args); // 定义和输入进行匹配
if(cmd.hasOption('h')){
Cli.help();
}
if(cmd.hasOption('b')){
String url=cmd.getOptionValue('b');
if(url==null || url.equals("")){
System.out.println("please input url");
}
Cli.crawlByHttp(url);
}
if(cmd.hasOption('t')){
String url=cmd.getOptionValue('t');
if(url==null || url.equals("")){
System.out.println("please input url");
}
Cli.crawlByHttpUnit(url);
}
} catch (ParseException e) {
e.printStackTrace();
}
}
}

打包为jar包文件 运行:

执行-h

java common cli java commons cli 分隔_java commons cli

执行-help 与-h 一样

java common cli java commons cli 分隔_java commons cli_02

执行 -b

java common cli java commons cli 分隔_java commons cli_03

大功告成。。。。简单吧。。