我知道如何从命令行获取输入。但是,如果他们传入的输入(文件名)抛出文件没有发现异常,我将如何让他们再次尝试,直到输入的文件名是正确的? (Java)如何重复询问文件名作为命令行参数,直到传入的输入正确?
回答
如果命令行参数无效,只需退出带有期望的程序(可能通过错误消息进行显式指示),然后用户将用正确的参数再次运行程序。我没有任何事实可以支持,但让程序继续运行,并骚扰用户输入一组新的命令行参数似乎不是很好的设计。
当然,如果只有一个提示。但是,如果有10个提示,并且只有最后一个响应是无效的。您认为强制用户从头开始重新开始是一个好设计?或者也许脚本在发出提示之前运行1小时。 OP的要求非常合理的情况有很多。 – dbenham
@dbenham:基于OP使用短语“命令行”而不是“标准输入”,我假定参数都是实际的*命令行参数*,即通过'argv'而不是一系列提示'stdout'并从'stdin'中读取。如果他们实际上是'argv'的参数,那么从*开始就是很好的设计。 – jwodder
啊,你是对的。我的脑子里有Windows批处理脚本,因为这个问题是作为我的SO过滤器的一部分寻找批处理相关的问题。除非编辑问题,否则系统不会让我撤销我的投票:(OP应该可能在做任何工作之前改变脚本/程序以验证文件的存在(基本事务控制) – dbenham
- 1. 命令行输入作为参数
- 2. 继续询问,直到输入正确
- 3. 命令行输入工作不正确
- 4. 解析输入和输出文件名作为参数从命令行
- 5. 作为命令行参数传入属性文件
- 6. 命令行输入(参数)
- 7. 在OpenCV中传递文件名作为命令行参数
- 8. 如何输入在命令行参数中读取的文件名?
- 9. “错误:省略参数名称”并将输入文件作为参数传入
- 10. Linux如何通过日期命令的输出作为python程序的输入作为命令行参数
- 11. 如何执行用户输入的命令作为龟命令?
- 12. 在sftp命令中传入参数作为参数的批处理文件
- 13. 如何通过批处理文件传递命令作为命令行参数
- 14. 将输入作为Python中的命令行参数处理输入
- 15. Windows PowerShell:如何执行标准输入重定向并将参数正确传递给命令?
- 16. Unix的读命令的行为在文件输入重定向
- 17. 如何批量写入命令行输入到命令中?
- 18. 带输入和输出文件的单个重复命令
- 19. Python循环 - 继续询问,直到输入正确的答案
- 20. 如何导入另一个作为命令行参数提供的python文件?
- 21. 命令行参数和文件输入的C
- 22. 作为命令行参数传入字符串
- 23. 使用命令行输入参数
- 24. Python - 以字典(散列输入)作为命令行参数
- 25. 输入目录作为命令行参数在c
- 26. 文件作为命令行参数
- 27. 重复输入直到被回答正确
- 28. 重定向输出作为命令行的输入?
- 29. 从命令行可执行文件输入/输出重定向到文件
- 30. 如何重新命名输入文本
你在哪个环境工作?什么shell语言?你试过了什么代码? –
我在eclipse上工作,语言是java。 – abc123