java user.home以本地语言返回

art*_*nce 8 java internationalization

当我System.getProperty("user.home")在土耳其Windows 7上运行时,我得到"C:\ Users\aaaa",即使我的计算机中不存在"用户"文件夹(我有"用户"的土耳其语翻译).如何获取正确的user.home信息?谢谢

Fra*_*ank 10

您运行的是哪个版本的Windows?在Vista及更高版本(2008,2008R2,Windows7)上Users,无论当前语言如何,都会在文件系统中调用该文件夹.但Windows资源管理器以UI的语言显示它,"Benutzer"(德语)就像我的情况一样.您可以在命令窗口中检入该文件夹的真实姓名Users.

  • 是的,这必然会造成一些混乱.+1 (2认同)

Mic*_*rdt 4

即使我的计算机中不存在“Users”文件夹(我有“users”的土耳其语翻译)。

这不是真的。您有“用户”文件夹。Windows 在显示它时会自动翻译它。但是您必须使用“用户”作为文件系统路径,这就是user.home返回的内容。本地化名称仅与向用户显示相关。我不知道如何从 Java 代码中获取它。

坦率地说,我认为向用户显示与文件系统中实际存在的文件夹名称不同的文件夹名称的整个概念是一种奇怪的变态。