【发布时间】:2017-01-27 10:23:10
【问题描述】:
我想在 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 我使用的是 Windows,但它在 Windows D 上不起作用:
-
查看此链接:stackoverflow.com/questions/2469435/… 你想找到一种方法,可以将程序中的语言环境临时设置为英语。
-
@SandySimonton 谢谢!我现在开始工作了。
-
@RandomGuy:没问题,有机会请采纳我的回答!
标签: java command-prompt