我试图使用Argparse4j构建命令行实用程序。我需要创建一个选项,该选项接受多个输入文件,但也接受stdin:
subparser.addArgument("input")
.nargs("*")
.setDefault(Arrays.asList("-"))
.type(Arguments.fileType().acceptSystemIn().verifyCanRead()); 如果我不使用Arrays.asList,那么有时我只得到一个File对象,而不是List<File>。
但是,使用nargs("*")还可以使我在列表中获得"-“(作为字符串),而不是实际的File对象。
有人用类似的方法成功过吗?
发布于 2015-03-07 14:10:53
argparse4j不对setDefault()传递的值进行任何转换。因此,您需要将Arrays.asList(new File("-"))传递给setDefault()以获得所需的效果。
https://stackoverflow.com/questions/28510455
复制相似问题