@Override
	public void print(final File directory, final OutputStream stream) throws IOException {
		OutputStreamWriter osw = new OutputStreamWriter(stream);
		BufferedWriter bw = new BufferedWriter(osw);

		bw.write("<table>");
		bw.write(getSummaryRow(directory));
		bw.write("<tr><td colspan=\"2\"></td></tr>");

		File[] files = getFiles();
		if (files.length == 0) {
			bw.write("<tr><td colspan=\"2\">no files found</td></tr>");
		} else {
			File currentDir = directory;

			for (File file : files) {
				File newDir = file.getAbsoluteFile().getParentFile();
				if (!newDir.equals(currentDir) && !dirHelper.isSubDir(currentDir, newDir)) {
					for (File tmpDir : dirHelper.getParentDirs(dirHelper.getCommonDir(currentDir, file), newDir)) {
						bw.write(getSubSummaryRow(tmpDir));
					}
				}
				currentDir = newDir;

				bw.write(getRow(file));
			}
		}
		bw.write("</table>");

		bw.flush();
		osw.flush();
	}
@ Override public void print ( final File directory , final OutputStream stream ) throws IOException { OutputStreamWriter osw = new OutputStreamWriter ( stream ) ; BufferedWriter bw = new BufferedWriter ( osw ) ; bw . write ( "<table>" ) ; bw . write ( getSummaryRow ( directory ) ) ; bw . write ( "<tr><td colspan=\"2\"></td></tr>" ) ; File [ ] files = getFiles ( ) ; if ( files . length == 0 ) { bw . write ( "<tr><td colspan=\"2\">no files found</td></tr>" ) ; } else { File currentDir = directory ; for ( File file : files ) { File newDir = file . getAbsoluteFile ( ) . getParentFile ( ) ; if ( ! newDir . equals ( currentDir ) && ! dirHelper . isSubDir ( currentDir , newDir ) ) { for ( File tmpDir : dirHelper . getParentDirs ( dirHelper . getCommonDir ( currentDir , file ) , newDir ) ) { bw . write ( getSubSummaryRow ( tmpDir ) ) ; } } currentDir = newDir ; bw . write ( getRow ( file ) ) ; } } bw . write ( "</table>" ) ; bw . flush ( ) ; osw . flush ( ) ; }
Prints out a table to {@code stream} which contains all saved
results including all summary rows.

@param directory headline of the table
@param stream    stream to write results to
@throws IOException thrown by {@code stream} in case of problems