Skip to content
Clojure wrapper for java.nio.file
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


Clojure wrapper for java.nio.file

Why do this? Take a look at

Work in progress! Expect bugs and missing functionality until we hit 1.0.0.

Supported Clojure and Java Versions

nio.file targets Clojure 1.6+ and Java 1.7+. New features in future versions of Java will be implemented conditionally so that that you can continue to use this library on 1.7.


This is alpha quality software. If your usage requires a complete and bug free experience, please wait for 1.0.0.


nio.file is available as a Maven artifact from Clojars:

[org.tobereplaced/nio.file "0.4.0"]

nio.file follows Semantic Versioning. Please note that this means the public API for this library is not yet considered stable.


Please read the Codox API Documentation and take a look at walkthrough.clj.

What Belongs Here?

The goal of this library is to make it so that everything you could do with java.nio.file, you can do easier with this library.

Towards this goal, if you find something that you must reach directly to java.nio.file for, please file an issue. It must be rectified.

This is not a utility library. This library is only here to make java.nio.file easier to use. Consequently, most functions herein are just wrappers around existing java methods with coercion where appropriate. The rest of the library is made up of constructor functions to implement required interfaces for arguments to the existing java methods.

As an example, implementing "remove-directory" is out of scope. However, walkthrough.clj will show you how to do that and other utility-like-things quite easily.


Pull requests welcome! Check out the TODO items in the source code. Engage with me! There's a lot of work, and I don't have time for all of it.

We need lots of tests and some guided examples in the walkthrough.clj.


Please post any comments, concerns, or issues to the Github issues page or find me on #clojure. I welcome any and all feedback.



  • Make posix-file-permissions return a PersistentHashSet.


  • Fix typo in file-visitor.


  • Rename copy to copy! and move to move!.


  • Rename write to write!
  • Add functions and extend functionality for working with PosixFilePermissions


  • Initial Release
  • Most Files FileSystem and Path methods implemented


Copyright © 2014 ToBeReplaced

Distributed under the Eclipse Public License, the same as Clojure. The license can be found at LICENSE in the root of this distribution.

You can’t perform that action at this time.