2010-06-30 3 views
8

터키어 윈도우 7에서 System.getProperty("user.home")을 실행하면 "사용자"폴더가 내 컴퓨터에 존재하지 않아도 "C : \ Users \ aaaa"를 얻을 수 있습니다 (터키어 번역 있음). "사용자"). 올바른 user.home 정보를 얻으려면 어떻게해야합니까? 감사합니다.java user.home 현지 언어로 돌아 가기

+4

와우. 그 흥미 롭군요. 다음 버그와 관련이있을 수 있습니다. http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4787931 – aioobe

+0

관련 링크; http://www.cubiclemuses.com/cm/blog/archives/000189.html/ – aioobe

+0

@aioobe에서 언급 한 버그는 java 5의 System.getenv ("USERPROFILE")을 사용하면 어떤 Java 버전을 사용하고 있습니까? – krock

답변

3

는 "사용자"폴더가 없습니다 내 컴퓨터에 존재하지 않더라도 (I는 "사용자"의 터키어 번역 있음).

사실이 아닙니다. "사용자"폴더가 있습니다. Windows는 표시 할 때 자동으로 변환합니다. 그러나 파일 시스템 경로에 "사용자"를 사용해야하는데, 이것은 user.home입니다. 현지화 된 이름은 사용자에게 표시하는 것과 관련이 있습니다. Java 코드에서 가져 오는 방법을 모르겠습니다.

솔직히 파일 시스템에 실제로 존재하는 것보다 다른 폴더 이름을 사용자에게 표시한다는 개념은 기묘한 변태입니다.

10

실행중인 Windows 버전은 무엇입니까? Vista 이상 (2008, 2008R2, Windows7)에서이 폴더는 현재 언어와 상관없이 파일 시스템에 Users이라고합니다. 그러나 윈도우 탐색기는 UI의 언어 인 "Benutzer"(독일어)를 사용합니다. 명령 창에서이 폴더의 실제 이름이 Users임을 확인할 수 있습니다.

+2

그래, 그건 혼란을 불러 일으켰다. +1 – Henning

+0

당신 말이 맞습니다. 자바 C : \ Users 디렉토리가 있지만 프로그래밍 방식으로 체크했지만 번역 된 폴더 이름은 없습니다. – artsince