2010-06-30 6 views
8

Po uruchomieniu System.getProperty("user.home") na tureckim Windows 7, pojawia się "C: \ Users \ aaaa", chociaż folder "Users" nie istnieje w moim komputerze (mam turecki "użytkownicy"). Jak mogę uzyskać prawidłowe informacje o user.home? Dziękujemyjava user.home do powrotu w lokalnym języku

+4

Wow. To interesujące. Prawdopodobnie związane z następującym błędem: http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4787931 – aioobe

+0

Kolejny powiązany link; http://www.cubiclemuses.com/cm/blog/archives/000189.html/ – aioobe

+0

Błąd wspomniany przez @aioobe sugeruje użycie System.getenv ("USERPROFILE") w java 5, jakiej wersji java używasz? – krock

Odpowiedz

3

choć „Użytkownicy” Folder nie istnieje w moim komputerze (Mam turecki tłumaczenia „użytkowników”).

To nie prawda. Masz folder "Użytkownicy". Windows automatycznie tłumaczy go podczas wyświetlania. Ale musisz użyć "Users" do ścieżek systemu plików, co zwraca user.home. Zlokalizowana nazwa ma znaczenie tylko dla wyświetlenia jej użytkownikowi. Nie jestem pewien, jak zdobyć go z kodu Java.

Szczerze mówiąc, myślę, że cała koncepcja wyświetlania różnych nazw folderów dla użytkownika, niż to, co faktycznie jest obecne w systemie plików, jest dziwaczną perwersją.

10

Którą wersję systemu Windows używasz? W systemach Vista i nowszych (2008, 2008R2, Windows7) folder jest nazywany Users w systemie plików, niezależnie od aktualnego języka. Ale Eksplorator Windows wyświetla go w języku interfejsu użytkownika "Benutzer" (niemiecki) w moim przypadku. Możesz sprawdzić w oknie poleceń, że prawdziwą nazwą tego folderu jest Users.

+2

Yup, które musiały wywołać zamieszanie. +1 – Henning

+0

masz rację. Sprawdziłem programowo z java katalog C: \ Users istnieje, ale przetłumaczona nazwa folderu nie. – artsince

Powiązane problemy