Skip to main content
Jump to: navigation, search


< PTP‎ | designs‎ | remote
Revision as of 13:59, 10 October 2007 by (Talk | contribs)

EFS Notes and Designs

List of Authors:

   Chris Recoskie (
   Greg Watson (

EFS Problems

  1. IPath <==> URI conversions are not always properly handle

Consider the following example:

IPath path = new Path("c:", "/a/b/c"); IFileStore f = EFS.getLocalFileSystem().getStore(path); then print out f.toURI() you get something like: file:/path/to/workspace/c:/a/b/c

  1. Lack of Windows path support
  • There is no device field in a URI. I.e., it's not legal to have c: in a URI.
  • There is no notion of root on windows
  How do you distinguish between the following?
  ** the full path C:\a which becomes file://c/a
  ** the relative path c/a which then also becomes file://c/a
  It might be possible to handle this by forcing the latter to be file://./c/a but neither URI nor EFS enforces anything like this.
  1. URIs lose OS specific information.

Since a URI is just a string, it doesn't really store information about where it came from. For example, say you have the URI file://a/b. Is that a UNIX-style path corresponding to /a/b, or was it a Windows path corresponding to a:\b? You just don't know.

Back to the top