首页 > 解决方案 > java - 如何在没有扫描仪的Java命令提示符中请求的输入中输入字符串作为值

问题描述

我是在 java 中处理 cmd.exe 的新手。我正在尝试自动化由 CLI 运行的一个应用程序。

当命令提示符要求用户输入时,我想传递字符串值。在这种情况下,问题是输入语言环境:

我想在命令提示符中提出的问题中将en-us作为字符串传递。

我不想使用扫描仪类,因为它需要人工干预。

这是我的代码:

public class run {
    public static void main(String[] args) throws IOException, InterruptedException {

        String[] commands = {"cd C:\\Users\\Aniket Shikhare\\Documents\\contentstack-cli-new","csdx cm:export --auth-token","en-us"};

        for(String command : commands) {

            execute(command);
        }

    }


    public static void execute(String command) throws InterruptedException, IOException {
        ProcessBuilder builder = new ProcessBuilder("cmd.exe","/c",command);
        Process process = builder.inheritIO().start();
        process.waitFor();

        BufferedReader reader = new BufferedReader(new InputStreamReader(process.getInputStream()));
        
    }
}

提示问题时,我的代码无法输入en-us 。谁能帮我在提示中输入这个?

下图是我的代码的输出。 命令提示符

标签: javacmdautomationautomated-testsjava-io

解决方案


推荐阅读