javaexec()的输出语言字符串

The output language string of java exec()

我想通过 Java exec() 获得一些 Windows/Linux 命令结果。

这很容易实现,但输出字符串的语言与 OS 语言相同。我想获得英文输出。有可能吗?

您需要告诉应用程序要使用的语言环境。

  • 在 Linux 上,这是通过在应用程序环境中设置环境变量来完成的。这些在不同的地方都有描述;例如"man locale" 和 "man bash"(并搜索 "LANG" 和 "LC_")。

  • On Windows ...我不知道...但我看到的答案表明设置 shell-local LANG 和 LC_* 环境变量将也在那里工作

要成功做到这一点,您还需要了解如何在子进程中正确设置环境变量。例如:

  ...exec("export LANG=C");
  ...exec("some command");

将不起作用。

请注意,此方法仅在您尝试 运行 支持国际化输出/错误消息的外部应用程序的范围内有效。如果没有,则没有魔法可以自动为您翻译输出。