Commons CLI:识别文件名* .deca

时间:2017-01-09 13:46:26

标签: java apache-commons-cli

我尝试使用Apache Commons CLI来识别我的java程序的参数。因此,有很多选项(例如" -p"作为示例)但主要是,应该将该文件的名称用作java程序的输入。请注意,所有选项都没有订单限制。

该计划的启动示例:

decac -p -r 5 test.deca

我在解析-p和-r(带参数" 5")选项时没有问题但是如何为" test.deca"创建一个选项。知道它可以是任何东西。它也可能类似于pathTo / anotherTest.deca

1 个答案:

答案 0 :(得分:0)

我认为ApacheCommonsCLI不可能开箱即用。你可以根据this answer做一些技巧,或者你可以使用apache CLI documentation

中描述的参数选项
var promisesChain;
var currentHttpPromise;
var getHttpRequest=function(uploadUrl,payload,token){
  return $http({
           url: uploadUrl,
           method: 'POST',
           data: payload,
           //assign content-type as undefined, the browser
           //will assign the correct boundary for us
           headers: {'token':token,'Access-Control-Allow-Origin': '*','Content-Type': undefined},
          //prevents serializing payload.  don't do it.
          transformRequest: angular.identity
          }).then(fucntion(response){
             console.log("response :" + JSON.stringify(response));
          });
}
for(var j=0;j<images.length;j++){
    (function(idx,images){
        console.log("idx"+JSON.stringify($scope.Files)+"====="+JSON.stringify(images));
        var data = {"image":images[idx]};
        var payload = new FormData();
        for(var key in data){
            payload.append(key, data[key]);
        }

        if(idx==0){
          promisesChain=getHttpRequest(uploadUrl,payload,token);
        }
        else{
          (function(uploadUrl,payload,token){
              promisesChain.then(function(){ 
                return getHttpRequest(uploadUrl,payload,token)
              },
              function(){
                 //Error
              });
          })(uploadUrl,payload,token);

        }
    })(j,images);
}

稍后可以使用-dfile.deca或--decafile = file.deca