BUG: System.getProperty("user.home") Returns Java Home Directory

ID: Q221206


The information in this article applies to:
  • Microsoft Visual J++, version 6.0
  • Microsoft Virtual Machine


SYMPTOMS

According to the documentation, System.getProperty("user.home") should return a String containing the user's home directory. Instead, the Microsoft virtual machine (Microsoft VM) returns the Java home directory, which is also returned by a call to System.getProperty("java.home").


RESOLUTION

While there are no known pure Java workarounds, there are a couple of things to try using Win32 code. To get the user's home directory, you could do the following:

  • Use the USERPROFILE environment variable in Windows NT to determine the user's home directory by making a JDirect call to the Win32 API function GetEnvironmentVariable( ). (For Windows 9x users, require the user to set USERPROFILE on boot.)


  • Use Win32's GetWindowsDirectory( ) and WFC's getUserName( ) to find the user's home directory.


  • Use WFC's getUserName( ) method to create a directory under "C:\A_KNOWN_DIRECTORY\[username]".



STATUS

Microsoft has confirmed this to be a bug in the Microsoft products listed at the beginning of this article.

© Microsoft Corporation 1999, All Rights Reserved.
Contributions by Joseph B. Hall, Microsoft Corporation

Additional query words:

Keywords : kbdocfix kbJavaVM kbSDKJava kbVJ600bug kbGrpJava kbVJ600FAQ kbJavaVMFAQ
Version : WINDOWS:6.0
Platform : WINDOWS
Issue type : kbbug


Last Reviewed: October 11, 1999
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.