The extended filesystem provides extensibility through the use of:
An XFileAccessor interface that provides a common set of access methods that are required for all filesystems.
An XFileExtensionAccessor abstract class that provides direct access to filesystem-specific features.
The capability for automatic runtime selection of the file access mechanism.
Support for multiple file namespaces through URL naming.
The API defines two means of access to network files and filesystems:
An XFile class that supports naming of files with URLs such as the type described in Internet RFC 2224. Here users would specify URLs like "nfs://oaktree.edu/archie". Developers of other filesystems would register their own URL schemes and implement filesystem accessor classes to support a chosen filesystem type, such as "smb://www.microsoft.com/index.html". The XFile class also provides a default "native" URL scheme using java.io.* which has a file-naming syntax that varies according to the operating system that supports the Java Runtime Interface, such as Win95, UNIX, and VMS.
Access to data through the XFileInputStream, XFileOutputStream, XRandomAccessFile, XFileReader and XFileWriter classes that are similar to current java.io.File classes.
The API supports three categories of applications:
Web-based applications, specifically browsers that deal with URLs extensively.
Traditional file-based applications that must extend their access to the network and still use the style of access provided by java.io.File classes.
Mixed mode applications that use both remote and distributed filesystems.