【问题标题】:Multiple file input, with stdin // Argparse4j, Java多文件输入,带标准输入 // Argparse4j,Java
【发布时间】:2015-04-15 03:15:28
【问题描述】:

我正在尝试使用 Argparse4j 构建命令行实用程序。我需要创建一个接受多个输入文件的选项,但也接受标准输入:

        subparser.addArgument("input")                                                                                                                                                                                                                                                                      
                .nargs("*")                                                                                                                                                                                                                                                                                               
                .setDefault(Arrays.asList("-"))                                                                                                                                                                                                                                                                           
                .type(Arguments.fileType().acceptSystemIn().verifyCanRead());                                                                                                                                                                                                                                             

如果我不使用Arrays.asList,那么有时我会得到一个File 对象,而不是List<File>

但是,使用 nargs("*") 也可以让我在列表中获得“-”(作为字符串),而不是实际的 File 对象。

有没有人在类似的事情上取得过成功?

【问题讨论】:

    标签: java file command-line-interface command-line-arguments stdin


    【解决方案1】:

    argparse4j 不对setDefault() 传递的值进行任何转换。所以你需要将Arrays.asList(new File("-")) 传递给setDefault() 才能得到想要的效果。

    【讨论】:

      猜你喜欢
      • 2012-11-05
      • 2012-08-24
      • 2017-03-04
      • 2012-06-01
      • 1970-01-01
      • 2013-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多