Skip to content
External-Memory Sorting in Java
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Updating javadoc. Apr 2, 2019
.gitignore retain method signature sortInBatch() without parallel param Aug 31, 2016
.travis.yml Adding jdk9 Dec 13, 2017
LICENSE.txt Copying subversion directory to github Mar 24, 2014 adding ref Aug 23, 2017
pom.xml [maven-release-plugin] prepare for next development iteration May 6, 2019


Build Status docs-badge Coverage Status

External-Memory Sorting in Java: useful to sort very large files using multiple cores and an external-memory algorithm.

The versions 0.1 of the library are compatible with Java 6 and above. Versions 0.2 and above require at least Java 8.

This code is used in Apache Jackrabbit Oak.

Code sample


//... inputfile: input file name
//... outputfile: output file name
// next command sorts the lines from inputfile to outputfile
ExternalSort.mergeSortedFiles(ExternalSort.sortInBatch(new File(inputfile)), new File(outputfile));
// you can also provide a custom string comparator, see API

API Documentation

Maven dependency

You can download the jar files from the Maven central repository:

You can also specify the dependency in the Maven "pom.xml" file:


How to build

  • get the java jdk
  • Install Maven 2
  • mvn install - builds jar (requires signing)
  • mvn test - runs tests
You can’t perform that action at this time.