buf = new int[ratio];
int datum = in.read();
this.numRead++;
if (datum == -1) {
// let read() handle end of stream
throw new EOFException();
}
String hex = Integer.toHexString(datum);
if (datum < 16) { // add a leading zero
hex = '0" + hex;
}
for (int i = 0; i < hex.length(); i++) {
buf[i] = hex.charAt(i);
}
if (numRead < breakAfter) {
buf[buf.length - 1] = ' ";
}
else {
buf[buf.length - 1] = '\n";
numRead = 0;
}