【问题标题】:Auto-input 'y' when prompted in command-line from Java在 Java 的命令行中提示时自动输入“y”
【发布时间】:2014-09-07 20:15:22
【问题描述】:

我正在使用的程序使用批处理文件通过 java 的命令提示符运行(遵循Run .exe file from Java from file location 的解决方案,并且在某个时间点,它会提示用户输入“y” ' 或 'n' 以继续程序。

如何使用 java 代码进行编程,以便在提示时自动输入值“y”或“n”,而不需要用户手动输入?我尝试过使用管道(遵循How do you enter something at a DOS prompt Programmatically? 的解决方案),但它不起作用。有什么想法吗?

【问题讨论】:

    标签: java batch-file


    【解决方案1】:

    从Process 中获取InputStream 并将y 写入其中。

    看这个问题的例子代码:

    【讨论】:

    • 您好,感谢您的回答。我是 Java 新手,所以我对使用的术语有点困惑。根据我对您的回答的理解,这意味着使用 InputStream 和 BufferedReader 读取该行,最后使用 System.out.println 将“y”写入该行?
    • 没有。你必须写信给你从这个过程中得到的(包装的)InputStream。 System.out.println 总是打印到控制台。
    【解决方案2】:

    你可以用旧的 DOS 方式来做。

    创建一个文件,例如 yes.txt。它应该只有 y (根据您的应用期望)。 该文件可以包含对多个提示的响应,每个提示都在自己的行中

    现在你可以像这样执行你的 exe 文件了

    myApp.exe < yes.txt
    

    exe提示时,yes.txt会提供提示文字

    【讨论】:

    • 我是在批处理文件下还是在运行时和进程之后包含那个“myApp.exe
    • 您必须使用“myApp.exe
    猜你喜欢
    • 2012-11-17
    • 1970-01-01
    • 1970-01-01
    • 2014-01-31
    • 2016-02-20
    • 1970-01-01
    • 2015-06-01
    • 2017-06-20
    • 1970-01-01
    相关资源
    最近更新 更多