void split(int splitNumber, long start, long end) {
		// Split file name
		String splitFileName = String.format("%s/%s.%03d.%s", dirName, baseName, splitNumber, ext);
		if ((dirName == null) || dirName.isEmpty()) splitFileName = String.format("%s.%03d.%s", baseName, splitNumber, ext);
		if (verbose) Timer.showStdErr("Split " + splitNumber + ":\t[ " + start + " , " + end + " ]\t=>\t" + splitFileName);

		try {
			// Open output file
			FileOutputStream out = new FileOutputStream(new File(splitFileName));

			// Seek to start
			raf.seek(start);

			int len = 0;
			for (long p = start; ((len = raf.read(buffer)) > 0) && (p < end); p += len) {
				if ((p + len) > end) len = (int) (end - p); // Adjust end
				out.write(buffer, 0, len); // Write to file
			}

			// Done, close output file
			out.close();
		} catch (IOException e) {
			throw new RuntimeException(e);
		}
	}