For unix systems, it's common to write ~user for the user's home directory. Java doesn't have a standard way to do this, but the usual practice is for all user home directories to be in the same parent directory, such as /Users/ on Mac OS X. The most important case is that the current user should work with ~user meaning the same thing as plain ~.
Also, changed (home) to return a File rather than a string. That seems more consistent with the rest of the library.
For unix systems, it's common to write ~user for the user's home directory. Java doesn't have a standard way to do this, but the usual practice is for all user home directories to be in the same parent directory, such as /Users/ on Mac OS X. The most important case is that the current user should work with ~user meaning the same thing as plain ~.
Also, changed (home) to return a File rather than a string. That seems more consistent with the rest of the library.
The patch was tested only on Mac OS X.