commons工具包

 

一 使用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 可以取到值

 

commons工具包

 

3.输出结果

commons工具包

 

 

二,使用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());

               //获取到字节数组