Obsolete! Edit

By the time you read this documentation, this is the state of this page; the API is actively being developed, so if you have questions, the best way is to query the author.

The author (well, that's me, really) has already implemented two filesystems using this base package: one over and one over Dropbox; so, if you have questions, contact the author directly.

Introduction Edit

java7-fs-base is a project aiming at simplifying the creation of entirely new filesystems for use with the java.nio.file API.

You may of course choose to implement it all yourself, but then look at what you have to implement:

And wait, there's more:

Fortunately, the vast majority of this is already implemented for you!

Note that this API is still a work in progress. It may change, it will change, but (hopefully) not without notice! This page will always be the reference page, so if you see bugs in it, please contact me (the preferred way to do this is to [open an issue on the Github project page, see link above).

First: clone java7-fs-base, install it in your local maven repository Edit

Since the state of the API is currently evolving quite rapidly, you have to do that first.


$ git clone
$ cd java7-fs-base
$ ./gradlew test install

Note: if you are using Windows, use gradlew.bat; or better yet, install cygwin.

Second: create your project; add the dependency Edit

The dependency is as follows:

  • group ID: com.github.fge;
  • artifact ID: java7-fs-base;
  • version: see the build.gradle file of java7-fs-base for reference; at this moment it is 0.0.2-SNAPSHOT.

Note: if you don't use a build system (you should, really) you can just build java7-fs-base (using ./gradlew test jar) and add the jar (in build/libs) as a dependency; this project does not depend on anything else than the JDK.

Now you are ready to start.

While it is not required that you implement all steps below in the exact order, it is nevertheless recommended that you follow them.

You need to create: