多文件输入,带 stdin // Argparse4j,Java
Multiple file input, with stdin // Argparse4j, Java
我正在尝试使用 Argparse4j 构建命令行实用程序。我需要创建一个接受多个输入文件的选项,但也接受标准输入:
subparser.addArgument("input")
.nargs("*")
.setDefault(Arrays.asList("-"))
.type(Arguments.fileType().acceptSystemIn().verifyCanRead());
如果我不使用 Arrays.asList
,那么有时我只会得到一个 File
对象,而不是 List<File>
。
但是,使用 nargs("*")
也使我在列表中得到“-”(作为字符串),而不是实际的 File
对象。
有没有人在类似的事情上取得过成功?
argparse4j 不会对 setDefault()
传递的值进行任何转换。所以你需要将 Arrays.asList(new File("-"))
传递给 setDefault()
以获得所需的效果。
我正在尝试使用 Argparse4j 构建命令行实用程序。我需要创建一个接受多个输入文件的选项,但也接受标准输入:
subparser.addArgument("input")
.nargs("*")
.setDefault(Arrays.asList("-"))
.type(Arguments.fileType().acceptSystemIn().verifyCanRead());
如果我不使用 Arrays.asList
,那么有时我只会得到一个 File
对象,而不是 List<File>
。
但是,使用 nargs("*")
也使我在列表中得到“-”(作为字符串),而不是实际的 File
对象。
有没有人在类似的事情上取得过成功?
argparse4j 不会对 setDefault()
传递的值进行任何转换。所以你需要将 Arrays.asList(new File("-"))
传递给 setDefault()
以获得所需的效果。