gpt4 book ai didi

java - 如何获取系统信息语言环境 - Locale.getDefault()

转载 作者:可可西里 更新时间:2023-11-01 11:26:56 25 4
gpt4 key购买 nike

目前我的系统区域设置是en-UK,它曾经是en-US(我已经重新启动了我的电脑以使这个更改生效)

当我打印 Locale.getDefault().getCountry().toString() 时,我仍然得到 US。

在 API 中它声明:

getDefault()

Gets the current value of the default locale for thisinstance of the Java Virtual Machine.

也许 JVM 语言环境与系统语言环境无关?如果是这样,我如何在 Windows 上获取系统区域设置?

编辑:

  • 在研究了与此相关的其他问题后,我发现说我正在处理 Java 6 很有用。
  • 我刚刚发现在我的操作系统 (Windows 7) 上,系统区域设置更改未反射(reflect)在 Java 中,但控制面板 > 区域和语言 > 格式更改会反射(reflect)出来。
  • 我忽略了一些东西,在生产代码中设置了 osgi.nl 配置属性,改变了 Locale.getDefault 否则会返回的内容

最佳答案

您的 JVM 语言环境和系统语言环境确实可能不同。首次加载 JVM 时,它会将其区域设置指定为与系统的区域设置相同,除非您在命令行上另有指定(并非所有实现都允许您这样做)。你可以从Locale.getDefault()看到这个JVM locale的值是多少.

如果您想更改,您可以:Locale.setDefault("<preferred_locale>") read more about it here .

系统区域设置取决于您使用的操作系统。我对 Windows 了解不多,但是您可以从 System.getEnv() 中看到这些值是什么.它返回 Map<String, String>所有环境属性,您可以查找 LANG 或 GDM_LANG 等内容。

关于java - 如何获取系统信息语言环境 - Locale.getDefault(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33146116/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com