@Override
        public int compare(final String[] a, final String[] b) {
            for (int i = 0; i < a.length && i < b.length; i++) {
                final int test;
                if (isNumeric(a[i]) && isNumeric(b[i])) {
                    final int iA = Integer.parseInt(a[i]);
                    final int iB = Integer.parseInt(b[i]);
                    test = iA - iB;
                } else {
                    test = a[i].compareTo(b[i]);
                }
                if (test != 0) {
                    return test;
                }
            }
            // in practice, the program should never reach this position.
            // at this point, all entries in both arrays are equal,
            // so order the entries so that the shortest array goes first
            if (a.length < b.length) {
                return -1;
            }
            return 1;
        }
Recursively search the specified path and list TIFF files and metadata.
<p>
Command-line Arguments:
</p>
<ol>
<li>Top-level directory (mandatory)</li>
<li>Output file for results (optional)</li>
</ol>
If the optional output file has the extension ".csv", the output will be formatted as a comma-separated-value file suitable for inspection in Excel.
src/test/java/org/apache/commons/imaging/examples/tiff/SurveyTiffFolder.java