我在这里遇到的奇怪的小问题:
我希望客户能够做类似的事情:
(1) java -jar myJar.jar inputFile outputFile
或
(2) java -jar myJar.jar 文本输出文件
outputFile
是可选参数。
基本上 (1) 将为他们从文件中读取输入,而 (2) 他们提供我的程序将直接使用的输入。尽管我能想到,但无法确定参数是否是输入或者它是否是文件的位置。对于普通的命令行内容,您可以指定一个标志,如 -i inputfile
以表明您希望它从文件中读取。我在这里有哪些选项可以保持客户的易用性?
创建客户端必须用于第一个参数的语法是我唯一的选择吗?即
“-t 文本”
或 “-i inputFile”
?
我见过诸如 commons cli 之类的库可以实现这一点,但我更喜欢不涉及使用库的解决方案。
最佳答案
如果我对问题的理解正确,难道你不能只检查参数的数量而不是显式指定直接输入吗?比如,如果传递一个 arg,则输出第一个 arg,如果传递 2 个 arg,则输入第一个 arg,输出第二个 arg?
话虽这么说 - 对于大多数习惯于 cli 的人来说,使用连字符类型的“选项”语法可能是最简单的。
关于java - 使用可选参数创建一个 Runnable jar,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13848617/