@@ -0,0 +1,1107 @@
+package innovimax.mixthem.io;%0A%0Aimport java.io.BufferedInputStream;%0Aimport java.io.IOException;%0A%0A/**%0A* %3Cp%3EReads bytes from a byte-input file.%3C/p%3E%0A* %3Cp%3EThis is the default implementation of IInputByte.%3C/p%3E%0A* @see IInputByte%0A* @author Innovimax%0A* @version 1.0%0A*/%0Apublic class DefaultByteReader implements IInputByte %7B%0A%0A%09private final BufferedInputStream reader;%0A%0A%09/**%0A %09* Creates a character reader from an input resource.%0A %09* @param input The input resource to be read%0A %09* @throws IOException - If an I/O error occurs%0A %09*/%0A%09public DefaultByteReader(final InputResource input) throws IOException %7B%09%09%0A%09%09this.reader = input.newBufferedInputStream();%0A%09%7D%0A%0A%09@Override%0A%09public boolean hasByte() throws IOException %7B%0A%09%09return this.reader.available() %3E 0;%0A%09%7D%0A%0A%09@Override%0A%09public int nextByte() throws IOException %7B%09%09%0A%09%09int b = -1;%0A%09%09if (hasByte()) %7B%0A%09%09%09b = this.reader.read();%0A%09%09%7D%0A%09%09return b;%0A%09%7D%0A%0A%09@Override%0A%09public int nextBytes(final byte%5B%5D buffer, final int len) throws IOException %7B%0A%09%09return this.reader.read(buffer, 0, len);%09%09%0A%09%7D%0A%0A%09@Override%0A%09public void close() throws IOException %7B%0A%09%09this.reader.close();%0A%09%7D%0A%0A%7D%0A

Create DefaultByteReader.java