The Scala IO File subproject is an adaptation of the Java NIO2 Filesystem to Scala. While the main inspiration was NIO2 because of its flexibility and design considerations for cross platform filesystem, the actual APIs have diverged in order to be more idiomatic Scala.

Note: At the moment scala.io.file is still very volatile the client APIs should be fairly stable (for a 0.1.0 version) but the API facing the implementer will likely change dramatically as more of the issues are encountered through implementation of new filesystems. So if you wish to implement a filesystem I would like the feedback but be aware that it will require migration as the API matures.

The Filesystem API consists of two APIs one for the implementer of filesystems and one for the user of the Filesystem API. As described earlier the FileSystem API originated from the Java 7 NIO2 filesystem and almost all the capability of that API are present in the scala.io.file API. However there are still aspects that I have not had time to add to scala.io.file. A few examples of features that will be added are: