@@ -0,0 +1,1015 @@
+package innovimax.mixthem.io;%0A%0Aimport java.io.BufferedOutputStream;%0Aimport java.io.IOException;%0Aimport java.io.OutputStream;%0A%0A/**%0A* %3Cp%3EWrites bytes into an output stream.%3C/p%3E%0A* %3Cp%3EThis is the default implementation of IOutputByte.%3C/p%3E%0A* @see IOutputByte%0A* @author Innovimax%0A* @version 1.0%0A*/%0Apublic class DefaultByteWriter implements IOutputByte %7B%0A%0A%09private final BufferedOutputStream writer;%0A%0A%09/**%0A %09* Creates a byte writer.%0A %09* @param output The output stream for bytes to be written.%0A %09* @throws IOException - If an I/O error occurs%0A %09*/%0A%09public DefaultByteWriter(final OutputStream output) throws IOException %7B%0A%09%09this.writer = new BufferedWriter(output);%0A%09%7D%0A%0A%09@Override%0A%09public void writeByte(final int b) throws IOException %7B%09%09%0A%09%09this.writer.write(b);%0A%09%7D%0A%0A%09@Override%0A%09public void writeBytes(final byte%5B%5D buffer, final int len) throws IOException %7B      %0A%09%09this.writer.write(buffer, 0, len);%0A%09%09this.writer.flush(); // WHY ?%09%0A%09%7D%0A%0A%09@Override%0A%09public void close() throws IOException %7B%0A%09%09this.writer.close();%0A%09%7D%0A%0A%7D%0A

Create DefaultByteWriter.java