如何从Java代码中检测操作系统语言(语言环境)

从Java代码了解操作系统语言(语言环境)的正确方法是什么?

我努力了

Locale.getDefault()

System.getProperties("user.language")

等等

但它们不正确,实际上什么也没有显示Windows中可通过命令“ systeminfo”使用的“系统区域设置”。

请帮忙。

回答:

Windows XP systeminfo命令显示了很多内容,但是相关信息是这样的:

System Locale:             en-us;English (United States)

Input Locale: en-us;English (United States)

要获取Java中的等效信息,请使用Locale.getDefault()获取Java正在使用的语言环境,并使用Locale对象上的方法(如getCountry()getLanguage()来获取详细信息。该信息可使用ISO代码以及人类可读/可显示的名称获得。

请注意,这Locale.getDefault()为您提供了Java启动时从环境中拾取的语言环境,它可能与“系统”语言环境相同或不同。为了最终获得Java中的“系统”语言环境,您需要做特定于平台的事情。IMO,如果您确实需要该信息,那么确保Java从系统区域设置开始就更简单了。


显然,Java

7改变了getDefault()Windows上确定所使用的语言环境信息的方式。

以上是 如何从Java代码中检测操作系统语言(语言环境) 的全部内容, 来源链接: utcz.com/qa/421672.html

回到顶部