I'm still not sure we need the absolute path here to go into the native layer.  From what I understand of the JRE, you can't change the current working directory, so it should be OK to use a relative path as returned by getPath().  Which avoids unnecessary VFS traversals on some systems.

But whatever.  We can optimize later if its worth it.  This is at least going to ensure an accurate path is passed into the native code.