Hello,

Craeg K Strong wrote:
> 
> Jeff Tulley wrote:
> 
> >Now, I'm wondering about some basic functionality here that I might be 
> >misunderstanding.  Are resolveFile and normalize supposed to be able to 
> >handle all three types of file system names, "/usr/bin", "c:\temp", and 
> >"sys:/tmp" while executing on any given system, or is it ok for "sys:/tmp" 
> >to be handled only when executing on NetWare, or "c:\temp" to be handled 
> >when executing on Windows, etc?  If I need to handle everything on every 
> >system, then I'll have to refactor resolveFile and normalize a whole lot 
> >more.  The going assumption used to be that if it contained a ":" as the 
> >second character, that was automatically a windows path.  Things get a 
> >little more complicated for general support if that colon can move to later 
> >in the string and still represent a valid "drive" name.(really, a NetWare 
> >volume).
> >
> One case you may not have considered is that of emulation environments:
>  Under Cygwin in
> Windows, one can use UNIX-style file system names.  Cygwin is quite
> popular, but I
> am sure there are other such environments (for example, VMware)....

In the case of Cygwin, this is a non issue because the JVM isn't built
against the Cygwin libraries.  As a result, it has no knowledge of the
Cygwin UNIX-like path enhancements but can only understand what it already
knows about paths under Windows.

However, if in the future someone ported the Sun JVM to run as a native
Cygwin application, then one might have to deal with some of the same
issues as this NetWare port as a path like /c/temp and C:/temp could be
the same thing.  This of course would depend entirely on how the port was
done.

With VMWare, it's no different than with Cygwin.  For instance, if you're
running Linux as the host OS with VMWare running Windows 98 under
emulation with a Windows JVM, the JVM can't suddenly understand paths any
differently than it does running under Windows directly on the hardware.

-Bill

Reply via email to