我想通过 Java exec() 获取一些 Windows/Linux 命令结果。
这很容易归档,但输出字符串的语言与操作系统语言相同。我想得到英语的输出。有可能吗?
最佳答案
您需要告诉应用程序要使用什么区域设置。
在 Linux 上,这是通过在应用程序环境中设置环境变量来完成的。这些在不同的地方都有描述;例如“man locale”和“man bash”(并搜索“LANG”和“LC_”)。
在 Windows 上...我不知道...但我看到的答案表明设置 shell 本地 LANG 和 LC_* 环境变量也适用。
要成功做到这一点,您还需要了解如何在子进程中正确设置环境变量。例如:
...exec("export LANG=C");
...exec("some command");
不会工作。
请注意,此方法仅在您尝试运行的外部应用程序支持国际化输出/错误消息的情况下有效。如果没有,就没有魔法可以自动为您翻译输出。
关于java - java exec() 的输出语言字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51352772/