一 使用CommandLineParser解析命令行参数
1.代码示例
import org.apache.commons.cli.CommandLine;
import org.apache.commons.cli.CommandLineParser;
import org.apache.commons.cli.DefaultParser;
import org.apache.commons.cli.Options;
import org.apache.commons.cli.ParseException;
import com.alibaba.fastjson.JSON;
public class Test {
public static void main(String[] args) {
System.out.println("args is " + JSON.toJSONString(args));
Options opts = new Options();
opts.addOption("a", "a", true, "this is a test for a");
opts.addOption("b", "b", true, "this is a test for b");
opts.addOption("c", "c", true, "this is a test for c");
CommandLineParser parser = new DefaultParser();
CommandLine cl;
try {
cl = parser.parse(opts, args);
if (cl.hasOption("a") && cl.hasOption("b") && cl.hasOption("c")) {
String a = cl.getOptionValue("a");
String b = cl.getOptionValue("b");
String c = cl.getOptionValue("c");
System.out.println("a=" + a + ",b=" + b + ",c=" + c);
}
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
2.在虚拟机启动的时候,输出 -a xx -b xx -c xx 可以取到值
3.输出结果
二,使用IOUtils读取字节流
FileInputStream in = new FileInputStream(LionUtil.getStringValue("config-manager.conf.path", "../conf/box.info"));
ByteArrayOutputStream out = new ByteArrayOutputStream();
IOUtils.copy(in, out);
ByteBuffer bf = ByteBuffer.wrap(out.toByteArray());
//获取到字节数组