java - java exec() 的输出语言字符串

标签 java exec

我想通过 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/

相关文章:

c++ - 从主进程执行多个进程

c - null 终止字符串数组

java - 采用 Swing 对话框方法并将其转换为 SWT

java - 使用 Servlet 和 JSP 的最佳设计?

linux - 使用现有终端的参数打开一个新终端

PHP exec() 作为后台进程(Windows Wampserver 环境)

php - 如何从 PHP 执行 linux 程序?

java - Toolkit.getDefaultToolkit().getScreenSize() 无法获取正确的屏幕分辨率值

java - 组织.hibernate.InstantiationException : Cannot instantiate abstract class or interface

java - 16-slim、16-jdk-slim、16-ea-slim docker 镜像有什么区别