External-Memory Sorting in Java
Clone or download
Latest commit 6a65158 Oct 12, 2018



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

import com.google.code.externalsorting.ExternalSort;

//... 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: http://repo1.maven.org/maven2/com/google/code/externalsortinginjava/externalsortinginjava/

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