在英语中运行命令提示符命令

3

我想在Windows上运行一个命令行程序,这里是代码。

    public static String runcmd(String cmd) throws IOException {
    ProcessBuilder builder = new ProcessBuilder(cmd);
    builder.redirectErrorStream(true);
    Process p = builder.start();
    BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));
    String line;
    StringBuilder sb = new StringBuilder();
    while (true) {
        line = r.readLine();
        if (line == null)
            break;
        sb.append(line + "%SKIPLINE%");
    }
    System.out.println(sb.toString());
    return sb.toString();
}

除了输出是中文之外,一切正常,因为我的Windows语言设置为中文。有没有办法让它输出英文?


在Linux中,只需使用processBuilder.environment().put("LANG", "en_US.UTF-8")为进程设置LANG环境变量即可。 - Svetlin Zarev
@Svetlin Zarev 我使用Windows,但它在Windows上无法工作 D: - RandomGuy
1
请查看此链接:https://dev59.com/Z3E95IYBdhLWcg3wEpzo 您想要找到的是一种将程序临时设置为英语区域设置的方法。 - Sandy Simonton
1
@SandySimonton 谢谢!我现在已经搞定了。 - RandomGuy
@RandomGuy:没问题,请在你有机会的时候接受我的答案! - Sandy Simonton
2个回答

1

试试这个:

https://wandersick.blogspot.com/p/change-non-english-command-line.html

或者执行

在cmd提示符中输入chcp 437。

例如:

C:\Users\javaserv> chcp 437
Active code page: 437

希望它有所帮助!

最好在引用链接之前展示一些代码或笔记,这样即使链接被删除也仍然有可阅读的内容。 - Young Emil

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接