package innovimax.mixthem.io;

import innovimax.mixthem.interfaces.IOutputChar;

import java.io.BufferedWriter;
import java.io.IOException;
import java.io.OutputStream;
import java.io.OutputStreamWriter;

/*
    Created by innovimax
    Default implementation of IOutputChar
*/
public class DefaultCharWriter implements IOutputChar {

	private final BufferedWriter writer;

	public DefaultCharWriter(OutputStream output) throws IOException {
		this.writer = new BufferedWriter(new OutputStreamWriter(output));
	}

	@Override
	public void writeCharacter(int c) throws IOException {		
		this.writer.write(c);
	}

	@Override
	public void writeCharacters(char[] buffer, int len) throws IOException {      
		this.writer.write(buffer, 0, len);
		this.writer.flush(); // WHY ?	
	}

	@Override
	public void close() throws IOException {
		this.writer.close();
	}

}

@@ -204,174 +204,429 @@
 %0A%0A/*
-%0A    Created by innovimax%0A    Default implementation of IOutputChar%0A*/%0Apublic class DefaultCharWriter implements IOutputChar %7B%0A%0A%09private final BufferedWriter writer;%0A
+*%0A* %3Cp%3EWrites characters into an output stream.%3C/p%3E%0A* %3Cp%3EThis is the default implementation of IOutputChar.%3C/p%3E%0A* @see IOutputLine%0A* @author Innovimax%0A* @version 1.0%0A*/%0Apublic class DefaultCharWriter implements IOutputChar %7B%0A%0A%09private final BufferedWriter writer;%0A%0A%09/**%0A %09* Creates a character writer.%0A %09* @param output The output stream for characters to be written.%0A %09* @throws IOException - If an I/O error occurs%0A %09*/
 %0A%09pu

Update DefaultCharWriter.java