sciss / fileutil Contributors Wanted

Simple Scala enrichments for Mirror of

Version Matrix


Build Status Maven Central


FileUtil is a small library for Scala to provide enrichment and utility methods for Where possible and useful, it tries to use the same method names as sbt, e.g. base and ext to obtain base file name and extension.

It is (C)opyright 2013–2020 by Hanns Holger Rutz. All rights reserved. FileUtil is released under the GNU Lesser General Public License v2.1+ and comes with absolutely no warranties. To contact the author, send an email to contact at

requirements / installation

This project compiles against Scala 2.13, 2.12 using sbt. The last version to support Scala 2.11 was 1.1.3.

To use the library in your project:

"de.sciss" %% "fileutil" % v

The current version v is "1.1.5"


Please see the file



Typically you will import the contents of package de.sciss.file. This includes a type alias File for, a simple constructor file("path"), and enrichtments for File, which allow for example to construct files in the manner file("base") / "sub" / "sub".

    import de.sciss.file._              // import type alias File for, and enrichments

    (userHome / "Desktop").isDirectory  // userHome is predefined, slash operator creates sub-files
    file(".").absolute                  // file(<string>) method creates file
    val x = file("foo/bar.baz")
    val (base, ext) = x.baseAndExt      // split name and extension
    x.replaceExt("pdf")                 // -> foo/bar.pdf
    val tmp = File.createTemp()         // temporary file (by default deleted upon exit)
    userHome.children(_.length > 4096)  // list files in directory, using filter predicate

Further methods on files such as relativize are available, as well as utility methods and object in the companion object, such as NameOrdering. See the API docs for a full overview. The regular Java methods on files are still available, such as .lastModified, .isFile, .isHidden, .length etc.

API docs

The API docs can be generated via sbt doc.