All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.powerlibraries.io.helper.byteout.BAWriter Maven / Gradle / Ivy

package com.github.powerlibraries.io.helper.byteout;

import java.io.BufferedWriter;
import java.io.ByteArrayOutputStream;
import java.io.Writer;

/**
 * This class represents a normal Writer that wraps a ByteArrayOutputStream. It is a simple
 * helper class that allows you to access the ByteArrayOutputStream specific methods of the underlying
 * ByteArrayOutputStream. Remember to close this writer before accessing the underlying byte array.
 * @author Manuel Hegner
 *
 */
public class BAWriter extends BufferedWriter implements ByteArrayWrapper {

	private ByteArrayOutputStream underlyingOutput;

	/**
	 * The constructor of the BufferedByteWriter
	 * @param writer the writer directly underlying this BufferedWriter
	 * @param underlyingOutput the ByteArrayOutputStream that is at the end of this writer/stream chain
	 */
	public BAWriter(Writer writer, ByteArrayOutputStream underlyingOutput) {
		super(writer);
		this.underlyingOutput=underlyingOutput;
	}

	/**
     * Converts the buffer's contents into a string decoding bytes using the
     * platform's default character set. The length of the new String
     * is a function of the character set, and hence may not be equal to the
     * size of the buffer.
     *
     * 

This method always replaces malformed-input and unmappable-character * sequences with the default replacement string for the platform's * default character set. The {@linkplain java.nio.charset.CharsetDecoder} * class should be used when more control over the decoding process is * required. * * @return String decoded from the buffer's contents. */ @Override public String toString() { return getUnderlyingOutput().toString(); } @Override public ByteArrayOutputStream getUnderlyingOutput() { return underlyingOutput; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy