Package com.github.fge.filesystem.driver

Core filesystem interface

See: Description

Package com.github.fge.filesystem.driver Description

Core filesystem interface

Design notes

This class is a consequence of a design decision: unlike what the original API originally states, in this package it is believed that filesystems may be completely unrelated to one another even if they share the same way of dealing with I/O. One such case is online storage services, for instance.

As such, this class takes care of all I/O operations that normally befall to FileSystemProvider, which just delegates such operations to driver instances according to the filesystem the paths are issued from.

What this package is

Classes in this package are the main workhorse of your filesystem. This is where all I/O is handled.

All I/O methods of FileSystemProvider, and some methods of FileSystem, are handled by this class; one driver will exist per filesystem.

Although FileSystemDriver is an interface, you really want to extend FileSystemDriverBase instead, or even UnixLikeFileSystemDriverBase, since Unix-like paths are by far the most common scenario.